Files
aptly/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go
T
2019-07-13 00:19:00 +03:00

1449 lines
45 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package dlm
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
"github.com/aws/aws-sdk-go/private/protocol/restjson"
)
const opCreateLifecyclePolicy = "CreateLifecyclePolicy"
// CreateLifecyclePolicyRequest generates a "aws/request.Request" representing the
// client's request for the CreateLifecyclePolicy operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateLifecyclePolicy for more information on using the CreateLifecyclePolicy
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the CreateLifecyclePolicyRequest method.
// req, resp := client.CreateLifecyclePolicyRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CreateLifecyclePolicy
func (c *DLM) CreateLifecyclePolicyRequest(input *CreateLifecyclePolicyInput) (req *request.Request, output *CreateLifecyclePolicyOutput) {
op := &request.Operation{
Name: opCreateLifecyclePolicy,
HTTPMethod: "POST",
HTTPPath: "/policies",
}
if input == nil {
input = &CreateLifecyclePolicyInput{}
}
output = &CreateLifecyclePolicyOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateLifecyclePolicy API operation for Amazon Data Lifecycle Manager.
//
// Creates a policy to manage the lifecycle of the specified AWS resources.
// You can create up to 100 lifecycle policies.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Data Lifecycle Manager's
// API operation CreateLifecyclePolicy for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidRequestException "InvalidRequestException"
// Bad request. The request is missing required parameters or has invalid parameters.
//
// * ErrCodeLimitExceededException "LimitExceededException"
// The request failed because a limit was exceeded.
//
// * ErrCodeInternalServerException "InternalServerException"
// The service failed in an unexpected way.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/CreateLifecyclePolicy
func (c *DLM) CreateLifecyclePolicy(input *CreateLifecyclePolicyInput) (*CreateLifecyclePolicyOutput, error) {
req, out := c.CreateLifecyclePolicyRequest(input)
return out, req.Send()
}
// CreateLifecyclePolicyWithContext is the same as CreateLifecyclePolicy with the addition of
// the ability to pass a context and additional request options.
//
// See CreateLifecyclePolicy for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *DLM) CreateLifecyclePolicyWithContext(ctx aws.Context, input *CreateLifecyclePolicyInput, opts ...request.Option) (*CreateLifecyclePolicyOutput, error) {
req, out := c.CreateLifecyclePolicyRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteLifecyclePolicy = "DeleteLifecyclePolicy"
// DeleteLifecyclePolicyRequest generates a "aws/request.Request" representing the
// client's request for the DeleteLifecyclePolicy operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteLifecyclePolicy for more information on using the DeleteLifecyclePolicy
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the DeleteLifecyclePolicyRequest method.
// req, resp := client.DeleteLifecyclePolicyRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/DeleteLifecyclePolicy
func (c *DLM) DeleteLifecyclePolicyRequest(input *DeleteLifecyclePolicyInput) (req *request.Request, output *DeleteLifecyclePolicyOutput) {
op := &request.Operation{
Name: opDeleteLifecyclePolicy,
HTTPMethod: "DELETE",
HTTPPath: "/policies/{policyId}/",
}
if input == nil {
input = &DeleteLifecyclePolicyInput{}
}
output = &DeleteLifecyclePolicyOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteLifecyclePolicy API operation for Amazon Data Lifecycle Manager.
//
// Deletes the specified lifecycle policy and halts the automated operations
// that the policy specified.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Data Lifecycle Manager's
// API operation DeleteLifecyclePolicy for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// A requested resource was not found.
//
// * ErrCodeInternalServerException "InternalServerException"
// The service failed in an unexpected way.
//
// * ErrCodeLimitExceededException "LimitExceededException"
// The request failed because a limit was exceeded.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/DeleteLifecyclePolicy
func (c *DLM) DeleteLifecyclePolicy(input *DeleteLifecyclePolicyInput) (*DeleteLifecyclePolicyOutput, error) {
req, out := c.DeleteLifecyclePolicyRequest(input)
return out, req.Send()
}
// DeleteLifecyclePolicyWithContext is the same as DeleteLifecyclePolicy with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteLifecyclePolicy for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *DLM) DeleteLifecyclePolicyWithContext(ctx aws.Context, input *DeleteLifecyclePolicyInput, opts ...request.Option) (*DeleteLifecyclePolicyOutput, error) {
req, out := c.DeleteLifecyclePolicyRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetLifecyclePolicies = "GetLifecyclePolicies"
// GetLifecyclePoliciesRequest generates a "aws/request.Request" representing the
// client's request for the GetLifecyclePolicies operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetLifecyclePolicies for more information on using the GetLifecyclePolicies
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the GetLifecyclePoliciesRequest method.
// req, resp := client.GetLifecyclePoliciesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicies
func (c *DLM) GetLifecyclePoliciesRequest(input *GetLifecyclePoliciesInput) (req *request.Request, output *GetLifecyclePoliciesOutput) {
op := &request.Operation{
Name: opGetLifecyclePolicies,
HTTPMethod: "GET",
HTTPPath: "/policies",
}
if input == nil {
input = &GetLifecyclePoliciesInput{}
}
output = &GetLifecyclePoliciesOutput{}
req = c.newRequest(op, input, output)
return
}
// GetLifecyclePolicies API operation for Amazon Data Lifecycle Manager.
//
// Gets summary information about all or the specified data lifecycle policies.
//
// To get complete information about a policy, use GetLifecyclePolicy.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Data Lifecycle Manager's
// API operation GetLifecyclePolicies for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// A requested resource was not found.
//
// * ErrCodeInvalidRequestException "InvalidRequestException"
// Bad request. The request is missing required parameters or has invalid parameters.
//
// * ErrCodeInternalServerException "InternalServerException"
// The service failed in an unexpected way.
//
// * ErrCodeLimitExceededException "LimitExceededException"
// The request failed because a limit was exceeded.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicies
func (c *DLM) GetLifecyclePolicies(input *GetLifecyclePoliciesInput) (*GetLifecyclePoliciesOutput, error) {
req, out := c.GetLifecyclePoliciesRequest(input)
return out, req.Send()
}
// GetLifecyclePoliciesWithContext is the same as GetLifecyclePolicies with the addition of
// the ability to pass a context and additional request options.
//
// See GetLifecyclePolicies for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *DLM) GetLifecyclePoliciesWithContext(ctx aws.Context, input *GetLifecyclePoliciesInput, opts ...request.Option) (*GetLifecyclePoliciesOutput, error) {
req, out := c.GetLifecyclePoliciesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetLifecyclePolicy = "GetLifecyclePolicy"
// GetLifecyclePolicyRequest generates a "aws/request.Request" representing the
// client's request for the GetLifecyclePolicy operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetLifecyclePolicy for more information on using the GetLifecyclePolicy
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the GetLifecyclePolicyRequest method.
// req, resp := client.GetLifecyclePolicyRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicy
func (c *DLM) GetLifecyclePolicyRequest(input *GetLifecyclePolicyInput) (req *request.Request, output *GetLifecyclePolicyOutput) {
op := &request.Operation{
Name: opGetLifecyclePolicy,
HTTPMethod: "GET",
HTTPPath: "/policies/{policyId}/",
}
if input == nil {
input = &GetLifecyclePolicyInput{}
}
output = &GetLifecyclePolicyOutput{}
req = c.newRequest(op, input, output)
return
}
// GetLifecyclePolicy API operation for Amazon Data Lifecycle Manager.
//
// Gets detailed information about the specified lifecycle policy.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Data Lifecycle Manager's
// API operation GetLifecyclePolicy for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// A requested resource was not found.
//
// * ErrCodeInternalServerException "InternalServerException"
// The service failed in an unexpected way.
//
// * ErrCodeLimitExceededException "LimitExceededException"
// The request failed because a limit was exceeded.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/GetLifecyclePolicy
func (c *DLM) GetLifecyclePolicy(input *GetLifecyclePolicyInput) (*GetLifecyclePolicyOutput, error) {
req, out := c.GetLifecyclePolicyRequest(input)
return out, req.Send()
}
// GetLifecyclePolicyWithContext is the same as GetLifecyclePolicy with the addition of
// the ability to pass a context and additional request options.
//
// See GetLifecyclePolicy for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *DLM) GetLifecyclePolicyWithContext(ctx aws.Context, input *GetLifecyclePolicyInput, opts ...request.Option) (*GetLifecyclePolicyOutput, error) {
req, out := c.GetLifecyclePolicyRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateLifecyclePolicy = "UpdateLifecyclePolicy"
// UpdateLifecyclePolicyRequest generates a "aws/request.Request" representing the
// client's request for the UpdateLifecyclePolicy operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateLifecyclePolicy for more information on using the UpdateLifecyclePolicy
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the UpdateLifecyclePolicyRequest method.
// req, resp := client.UpdateLifecyclePolicyRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/UpdateLifecyclePolicy
func (c *DLM) UpdateLifecyclePolicyRequest(input *UpdateLifecyclePolicyInput) (req *request.Request, output *UpdateLifecyclePolicyOutput) {
op := &request.Operation{
Name: opUpdateLifecyclePolicy,
HTTPMethod: "PATCH",
HTTPPath: "/policies/{policyId}",
}
if input == nil {
input = &UpdateLifecyclePolicyInput{}
}
output = &UpdateLifecyclePolicyOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// UpdateLifecyclePolicy API operation for Amazon Data Lifecycle Manager.
//
// Updates the specified lifecycle policy.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Data Lifecycle Manager's
// API operation UpdateLifecyclePolicy for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// A requested resource was not found.
//
// * ErrCodeInvalidRequestException "InvalidRequestException"
// Bad request. The request is missing required parameters or has invalid parameters.
//
// * ErrCodeInternalServerException "InternalServerException"
// The service failed in an unexpected way.
//
// * ErrCodeLimitExceededException "LimitExceededException"
// The request failed because a limit was exceeded.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/dlm-2018-01-12/UpdateLifecyclePolicy
func (c *DLM) UpdateLifecyclePolicy(input *UpdateLifecyclePolicyInput) (*UpdateLifecyclePolicyOutput, error) {
req, out := c.UpdateLifecyclePolicyRequest(input)
return out, req.Send()
}
// UpdateLifecyclePolicyWithContext is the same as UpdateLifecyclePolicy with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateLifecyclePolicy for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *DLM) UpdateLifecyclePolicyWithContext(ctx aws.Context, input *UpdateLifecyclePolicyInput, opts ...request.Option) (*UpdateLifecyclePolicyOutput, error) {
req, out := c.UpdateLifecyclePolicyRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
type CreateLifecyclePolicyInput struct {
_ struct{} `type:"structure"`
// A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are
// supported.
//
// Description is a required field
Description *string `type:"string" required:"true"`
// The Amazon Resource Name (ARN) of the IAM role used to run the operations
// specified by the lifecycle policy.
//
// ExecutionRoleArn is a required field
ExecutionRoleArn *string `type:"string" required:"true"`
// The configuration details of the lifecycle policy.
//
// Target tags cannot be re-used across lifecycle policies.
//
// PolicyDetails is a required field
PolicyDetails *PolicyDetails `type:"structure" required:"true"`
// The desired activation state of the lifecycle policy after creation.
//
// State is a required field
State *string `type:"string" required:"true" enum:"SettablePolicyStateValues"`
}
// String returns the string representation
func (s CreateLifecyclePolicyInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateLifecyclePolicyInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateLifecyclePolicyInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateLifecyclePolicyInput"}
if s.Description == nil {
invalidParams.Add(request.NewErrParamRequired("Description"))
}
if s.ExecutionRoleArn == nil {
invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
}
if s.PolicyDetails == nil {
invalidParams.Add(request.NewErrParamRequired("PolicyDetails"))
}
if s.State == nil {
invalidParams.Add(request.NewErrParamRequired("State"))
}
if s.PolicyDetails != nil {
if err := s.PolicyDetails.Validate(); err != nil {
invalidParams.AddNested("PolicyDetails", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetDescription sets the Description field's value.
func (s *CreateLifecyclePolicyInput) SetDescription(v string) *CreateLifecyclePolicyInput {
s.Description = &v
return s
}
// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
func (s *CreateLifecyclePolicyInput) SetExecutionRoleArn(v string) *CreateLifecyclePolicyInput {
s.ExecutionRoleArn = &v
return s
}
// SetPolicyDetails sets the PolicyDetails field's value.
func (s *CreateLifecyclePolicyInput) SetPolicyDetails(v *PolicyDetails) *CreateLifecyclePolicyInput {
s.PolicyDetails = v
return s
}
// SetState sets the State field's value.
func (s *CreateLifecyclePolicyInput) SetState(v string) *CreateLifecyclePolicyInput {
s.State = &v
return s
}
type CreateLifecyclePolicyOutput struct {
_ struct{} `type:"structure"`
// The identifier of the lifecycle policy.
PolicyId *string `type:"string"`
}
// String returns the string representation
func (s CreateLifecyclePolicyOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateLifecyclePolicyOutput) GoString() string {
return s.String()
}
// SetPolicyId sets the PolicyId field's value.
func (s *CreateLifecyclePolicyOutput) SetPolicyId(v string) *CreateLifecyclePolicyOutput {
s.PolicyId = &v
return s
}
// Specifies when to create snapshots of EBS volumes.
type CreateRule struct {
_ struct{} `type:"structure"`
// The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12,
// and 24.
//
// Interval is a required field
Interval *int64 `min:"1" type:"integer" required:"true"`
// The interval unit.
//
// IntervalUnit is a required field
IntervalUnit *string `type:"string" required:"true" enum:"IntervalUnitValues"`
// The time, in UTC, to start the operation. The supported format is hh:mm.
//
// The operation occurs within a one-hour window following the specified time.
Times []*string `type:"list"`
}
// String returns the string representation
func (s CreateRule) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateRule) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateRule) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateRule"}
if s.Interval == nil {
invalidParams.Add(request.NewErrParamRequired("Interval"))
}
if s.Interval != nil && *s.Interval < 1 {
invalidParams.Add(request.NewErrParamMinValue("Interval", 1))
}
if s.IntervalUnit == nil {
invalidParams.Add(request.NewErrParamRequired("IntervalUnit"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetInterval sets the Interval field's value.
func (s *CreateRule) SetInterval(v int64) *CreateRule {
s.Interval = &v
return s
}
// SetIntervalUnit sets the IntervalUnit field's value.
func (s *CreateRule) SetIntervalUnit(v string) *CreateRule {
s.IntervalUnit = &v
return s
}
// SetTimes sets the Times field's value.
func (s *CreateRule) SetTimes(v []*string) *CreateRule {
s.Times = v
return s
}
type DeleteLifecyclePolicyInput struct {
_ struct{} `type:"structure"`
// The identifier of the lifecycle policy.
//
// PolicyId is a required field
PolicyId *string `location:"uri" locationName:"policyId" type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteLifecyclePolicyInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteLifecyclePolicyInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteLifecyclePolicyInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteLifecyclePolicyInput"}
if s.PolicyId == nil {
invalidParams.Add(request.NewErrParamRequired("PolicyId"))
}
if s.PolicyId != nil && len(*s.PolicyId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("PolicyId", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetPolicyId sets the PolicyId field's value.
func (s *DeleteLifecyclePolicyInput) SetPolicyId(v string) *DeleteLifecyclePolicyInput {
s.PolicyId = &v
return s
}
type DeleteLifecyclePolicyOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s DeleteLifecyclePolicyOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteLifecyclePolicyOutput) GoString() string {
return s.String()
}
type GetLifecyclePoliciesInput struct {
_ struct{} `type:"structure"`
// The identifiers of the data lifecycle policies.
PolicyIds []*string `location:"querystring" locationName:"policyIds" type:"list"`
// The resource type.
ResourceTypes []*string `location:"querystring" locationName:"resourceTypes" min:"1" type:"list"`
// The activation state.
State *string `location:"querystring" locationName:"state" type:"string" enum:"GettablePolicyStateValues"`
// The tags to add to objects created by the policy.
//
// Tags are strings in the format key=value.
//
// These user-defined tags are added in addition to the AWS-added lifecycle
// tags.
TagsToAdd []*string `location:"querystring" locationName:"tagsToAdd" type:"list"`
// The target tag for a policy.
//
// Tags are strings in the format key=value.
TargetTags []*string `location:"querystring" locationName:"targetTags" min:"1" type:"list"`
}
// String returns the string representation
func (s GetLifecyclePoliciesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetLifecyclePoliciesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetLifecyclePoliciesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetLifecyclePoliciesInput"}
if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1))
}
if s.TargetTags != nil && len(s.TargetTags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("TargetTags", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetPolicyIds sets the PolicyIds field's value.
func (s *GetLifecyclePoliciesInput) SetPolicyIds(v []*string) *GetLifecyclePoliciesInput {
s.PolicyIds = v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func (s *GetLifecyclePoliciesInput) SetResourceTypes(v []*string) *GetLifecyclePoliciesInput {
s.ResourceTypes = v
return s
}
// SetState sets the State field's value.
func (s *GetLifecyclePoliciesInput) SetState(v string) *GetLifecyclePoliciesInput {
s.State = &v
return s
}
// SetTagsToAdd sets the TagsToAdd field's value.
func (s *GetLifecyclePoliciesInput) SetTagsToAdd(v []*string) *GetLifecyclePoliciesInput {
s.TagsToAdd = v
return s
}
// SetTargetTags sets the TargetTags field's value.
func (s *GetLifecyclePoliciesInput) SetTargetTags(v []*string) *GetLifecyclePoliciesInput {
s.TargetTags = v
return s
}
type GetLifecyclePoliciesOutput struct {
_ struct{} `type:"structure"`
// Summary information about the lifecycle policies.
Policies []*LifecyclePolicySummary `type:"list"`
}
// String returns the string representation
func (s GetLifecyclePoliciesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetLifecyclePoliciesOutput) GoString() string {
return s.String()
}
// SetPolicies sets the Policies field's value.
func (s *GetLifecyclePoliciesOutput) SetPolicies(v []*LifecyclePolicySummary) *GetLifecyclePoliciesOutput {
s.Policies = v
return s
}
type GetLifecyclePolicyInput struct {
_ struct{} `type:"structure"`
// The identifier of the lifecycle policy.
//
// PolicyId is a required field
PolicyId *string `location:"uri" locationName:"policyId" type:"string" required:"true"`
}
// String returns the string representation
func (s GetLifecyclePolicyInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetLifecyclePolicyInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetLifecyclePolicyInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetLifecyclePolicyInput"}
if s.PolicyId == nil {
invalidParams.Add(request.NewErrParamRequired("PolicyId"))
}
if s.PolicyId != nil && len(*s.PolicyId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("PolicyId", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetPolicyId sets the PolicyId field's value.
func (s *GetLifecyclePolicyInput) SetPolicyId(v string) *GetLifecyclePolicyInput {
s.PolicyId = &v
return s
}
type GetLifecyclePolicyOutput struct {
_ struct{} `type:"structure"`
// Detailed information about the lifecycle policy.
Policy *LifecyclePolicy `type:"structure"`
}
// String returns the string representation
func (s GetLifecyclePolicyOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetLifecyclePolicyOutput) GoString() string {
return s.String()
}
// SetPolicy sets the Policy field's value.
func (s *GetLifecyclePolicyOutput) SetPolicy(v *LifecyclePolicy) *GetLifecyclePolicyOutput {
s.Policy = v
return s
}
// Detailed information about a lifecycle policy.
type LifecyclePolicy struct {
_ struct{} `type:"structure"`
// The local date and time when the lifecycle policy was created.
DateCreated *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The local date and time when the lifecycle policy was last modified.
DateModified *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The description of the lifecycle policy.
Description *string `type:"string"`
// The Amazon Resource Name (ARN) of the IAM role used to run the operations
// specified by the lifecycle policy.
ExecutionRoleArn *string `type:"string"`
// The configuration of the lifecycle policy
PolicyDetails *PolicyDetails `type:"structure"`
// The identifier of the lifecycle policy.
PolicyId *string `type:"string"`
// The activation state of the lifecycle policy.
State *string `type:"string" enum:"GettablePolicyStateValues"`
}
// String returns the string representation
func (s LifecyclePolicy) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s LifecyclePolicy) GoString() string {
return s.String()
}
// SetDateCreated sets the DateCreated field's value.
func (s *LifecyclePolicy) SetDateCreated(v time.Time) *LifecyclePolicy {
s.DateCreated = &v
return s
}
// SetDateModified sets the DateModified field's value.
func (s *LifecyclePolicy) SetDateModified(v time.Time) *LifecyclePolicy {
s.DateModified = &v
return s
}
// SetDescription sets the Description field's value.
func (s *LifecyclePolicy) SetDescription(v string) *LifecyclePolicy {
s.Description = &v
return s
}
// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
func (s *LifecyclePolicy) SetExecutionRoleArn(v string) *LifecyclePolicy {
s.ExecutionRoleArn = &v
return s
}
// SetPolicyDetails sets the PolicyDetails field's value.
func (s *LifecyclePolicy) SetPolicyDetails(v *PolicyDetails) *LifecyclePolicy {
s.PolicyDetails = v
return s
}
// SetPolicyId sets the PolicyId field's value.
func (s *LifecyclePolicy) SetPolicyId(v string) *LifecyclePolicy {
s.PolicyId = &v
return s
}
// SetState sets the State field's value.
func (s *LifecyclePolicy) SetState(v string) *LifecyclePolicy {
s.State = &v
return s
}
// Summary information about a lifecycle policy.
type LifecyclePolicySummary struct {
_ struct{} `type:"structure"`
// The description of the lifecycle policy.
Description *string `type:"string"`
// The identifier of the lifecycle policy.
PolicyId *string `type:"string"`
// The activation state of the lifecycle policy.
State *string `type:"string" enum:"GettablePolicyStateValues"`
}
// String returns the string representation
func (s LifecyclePolicySummary) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s LifecyclePolicySummary) GoString() string {
return s.String()
}
// SetDescription sets the Description field's value.
func (s *LifecyclePolicySummary) SetDescription(v string) *LifecyclePolicySummary {
s.Description = &v
return s
}
// SetPolicyId sets the PolicyId field's value.
func (s *LifecyclePolicySummary) SetPolicyId(v string) *LifecyclePolicySummary {
s.PolicyId = &v
return s
}
// SetState sets the State field's value.
func (s *LifecyclePolicySummary) SetState(v string) *LifecyclePolicySummary {
s.State = &v
return s
}
// Optional parameters that can be added to the policy. The set of valid parameters
// depends on the combination of policyType and resourceType values.
type Parameters struct {
_ struct{} `type:"structure"`
// When executing an EBS Snapshot Management Instance policy, execute all
// CreateSnapshots calls with the excludeBootVolume set to the supplied field.
// Defaults to false. Only valid for EBS Snapshot Management Instance policies.
ExcludeBootVolume *bool `type:"boolean"`
}
// String returns the string representation
func (s Parameters) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Parameters) GoString() string {
return s.String()
}
// SetExcludeBootVolume sets the ExcludeBootVolume field's value.
func (s *Parameters) SetExcludeBootVolume(v bool) *Parameters {
s.ExcludeBootVolume = &v
return s
}
// Specifies the configuration of a lifecycle policy.
type PolicyDetails struct {
_ struct{} `type:"structure"`
// A set of optional parameters that can be provided by the policy.
Parameters *Parameters `type:"structure"`
// This field determines the valid target resource types and actions a policy
// can manage. This field defaults to EBS_SNAPSHOT_MANAGEMENT if not present.
PolicyType *string `type:"string" enum:"PolicyTypeValues"`
// The resource type.
ResourceTypes []*string `min:"1" type:"list"`
// The schedule of policy-defined actions.
Schedules []*Schedule `min:"1" type:"list"`
// The single tag that identifies targeted resources for this policy.
TargetTags []*Tag `min:"1" type:"list"`
}
// String returns the string representation
func (s PolicyDetails) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PolicyDetails) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PolicyDetails) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "PolicyDetails"}
if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1))
}
if s.Schedules != nil && len(s.Schedules) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Schedules", 1))
}
if s.TargetTags != nil && len(s.TargetTags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("TargetTags", 1))
}
if s.Schedules != nil {
for i, v := range s.Schedules {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Schedules", i), err.(request.ErrInvalidParams))
}
}
}
if s.TargetTags != nil {
for i, v := range s.TargetTags {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetTags", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetParameters sets the Parameters field's value.
func (s *PolicyDetails) SetParameters(v *Parameters) *PolicyDetails {
s.Parameters = v
return s
}
// SetPolicyType sets the PolicyType field's value.
func (s *PolicyDetails) SetPolicyType(v string) *PolicyDetails {
s.PolicyType = &v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func (s *PolicyDetails) SetResourceTypes(v []*string) *PolicyDetails {
s.ResourceTypes = v
return s
}
// SetSchedules sets the Schedules field's value.
func (s *PolicyDetails) SetSchedules(v []*Schedule) *PolicyDetails {
s.Schedules = v
return s
}
// SetTargetTags sets the TargetTags field's value.
func (s *PolicyDetails) SetTargetTags(v []*Tag) *PolicyDetails {
s.TargetTags = v
return s
}
// Specifies the number of snapshots to keep for each EBS volume.
type RetainRule struct {
_ struct{} `type:"structure"`
// The number of snapshots to keep for each volume, up to a maximum of 1000.
//
// Count is a required field
Count *int64 `min:"1" type:"integer" required:"true"`
}
// String returns the string representation
func (s RetainRule) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s RetainRule) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RetainRule) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RetainRule"}
if s.Count == nil {
invalidParams.Add(request.NewErrParamRequired("Count"))
}
if s.Count != nil && *s.Count < 1 {
invalidParams.Add(request.NewErrParamMinValue("Count", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetCount sets the Count field's value.
func (s *RetainRule) SetCount(v int64) *RetainRule {
s.Count = &v
return s
}
// Specifies a schedule.
type Schedule struct {
_ struct{} `type:"structure"`
// Copy all user-defined tags on a source volume to snapshots of the volume
// created by this policy.
CopyTags *bool `type:"boolean"`
// The create rule.
CreateRule *CreateRule `type:"structure"`
// The name of the schedule.
Name *string `type:"string"`
// The retain rule.
RetainRule *RetainRule `type:"structure"`
// The tags to apply to policy-created resources. These user-defined tags are
// in addition to the AWS-added lifecycle tags.
TagsToAdd []*Tag `type:"list"`
// A collection of key/value pairs with values determined dynamically when the
// policy is executed. Keys may be any valid Amazon EC2 tag key. Values must
// be in one of the two following formats: $(instance-id) or $(timestamp). Variable
// tags are only valid for EBS Snapshot Management Instance policies.
VariableTags []*Tag `type:"list"`
}
// String returns the string representation
func (s Schedule) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Schedule) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Schedule) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "Schedule"}
if s.CreateRule != nil {
if err := s.CreateRule.Validate(); err != nil {
invalidParams.AddNested("CreateRule", err.(request.ErrInvalidParams))
}
}
if s.RetainRule != nil {
if err := s.RetainRule.Validate(); err != nil {
invalidParams.AddNested("RetainRule", err.(request.ErrInvalidParams))
}
}
if s.TagsToAdd != nil {
for i, v := range s.TagsToAdd {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagsToAdd", i), err.(request.ErrInvalidParams))
}
}
}
if s.VariableTags != nil {
for i, v := range s.VariableTags {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VariableTags", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetCopyTags sets the CopyTags field's value.
func (s *Schedule) SetCopyTags(v bool) *Schedule {
s.CopyTags = &v
return s
}
// SetCreateRule sets the CreateRule field's value.
func (s *Schedule) SetCreateRule(v *CreateRule) *Schedule {
s.CreateRule = v
return s
}
// SetName sets the Name field's value.
func (s *Schedule) SetName(v string) *Schedule {
s.Name = &v
return s
}
// SetRetainRule sets the RetainRule field's value.
func (s *Schedule) SetRetainRule(v *RetainRule) *Schedule {
s.RetainRule = v
return s
}
// SetTagsToAdd sets the TagsToAdd field's value.
func (s *Schedule) SetTagsToAdd(v []*Tag) *Schedule {
s.TagsToAdd = v
return s
}
// SetVariableTags sets the VariableTags field's value.
func (s *Schedule) SetVariableTags(v []*Tag) *Schedule {
s.VariableTags = v
return s
}
// Specifies a tag for a resource.
type Tag struct {
_ struct{} `type:"structure"`
// The tag key.
//
// Key is a required field
Key *string `type:"string" required:"true"`
// The tag value.
//
// Value is a required field
Value *string `type:"string" required:"true"`
}
// String returns the string representation
func (s Tag) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Tag) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Tag) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "Tag"}
if s.Key == nil {
invalidParams.Add(request.NewErrParamRequired("Key"))
}
if s.Value == nil {
invalidParams.Add(request.NewErrParamRequired("Value"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetKey sets the Key field's value.
func (s *Tag) SetKey(v string) *Tag {
s.Key = &v
return s
}
// SetValue sets the Value field's value.
func (s *Tag) SetValue(v string) *Tag {
s.Value = &v
return s
}
type UpdateLifecyclePolicyInput struct {
_ struct{} `type:"structure"`
// A description of the lifecycle policy.
Description *string `type:"string"`
// The Amazon Resource Name (ARN) of the IAM role used to run the operations
// specified by the lifecycle policy.
ExecutionRoleArn *string `type:"string"`
// The configuration of the lifecycle policy.
//
// Target tags cannot be re-used across policies.
PolicyDetails *PolicyDetails `type:"structure"`
// The identifier of the lifecycle policy.
//
// PolicyId is a required field
PolicyId *string `location:"uri" locationName:"policyId" type:"string" required:"true"`
// The desired activation state of the lifecycle policy after creation.
State *string `type:"string" enum:"SettablePolicyStateValues"`
}
// String returns the string representation
func (s UpdateLifecyclePolicyInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s UpdateLifecyclePolicyInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateLifecyclePolicyInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateLifecyclePolicyInput"}
if s.PolicyId == nil {
invalidParams.Add(request.NewErrParamRequired("PolicyId"))
}
if s.PolicyId != nil && len(*s.PolicyId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("PolicyId", 1))
}
if s.PolicyDetails != nil {
if err := s.PolicyDetails.Validate(); err != nil {
invalidParams.AddNested("PolicyDetails", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetDescription sets the Description field's value.
func (s *UpdateLifecyclePolicyInput) SetDescription(v string) *UpdateLifecyclePolicyInput {
s.Description = &v
return s
}
// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
func (s *UpdateLifecyclePolicyInput) SetExecutionRoleArn(v string) *UpdateLifecyclePolicyInput {
s.ExecutionRoleArn = &v
return s
}
// SetPolicyDetails sets the PolicyDetails field's value.
func (s *UpdateLifecyclePolicyInput) SetPolicyDetails(v *PolicyDetails) *UpdateLifecyclePolicyInput {
s.PolicyDetails = v
return s
}
// SetPolicyId sets the PolicyId field's value.
func (s *UpdateLifecyclePolicyInput) SetPolicyId(v string) *UpdateLifecyclePolicyInput {
s.PolicyId = &v
return s
}
// SetState sets the State field's value.
func (s *UpdateLifecyclePolicyInput) SetState(v string) *UpdateLifecyclePolicyInput {
s.State = &v
return s
}
type UpdateLifecyclePolicyOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s UpdateLifecyclePolicyOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s UpdateLifecyclePolicyOutput) GoString() string {
return s.String()
}
const (
// GettablePolicyStateValuesEnabled is a GettablePolicyStateValues enum value
GettablePolicyStateValuesEnabled = "ENABLED"
// GettablePolicyStateValuesDisabled is a GettablePolicyStateValues enum value
GettablePolicyStateValuesDisabled = "DISABLED"
// GettablePolicyStateValuesError is a GettablePolicyStateValues enum value
GettablePolicyStateValuesError = "ERROR"
)
const (
// IntervalUnitValuesHours is a IntervalUnitValues enum value
IntervalUnitValuesHours = "HOURS"
)
const (
// PolicyTypeValuesEbsSnapshotManagement is a PolicyTypeValues enum value
PolicyTypeValuesEbsSnapshotManagement = "EBS_SNAPSHOT_MANAGEMENT"
)
const (
// ResourceTypeValuesVolume is a ResourceTypeValues enum value
ResourceTypeValuesVolume = "VOLUME"
// ResourceTypeValuesInstance is a ResourceTypeValues enum value
ResourceTypeValuesInstance = "INSTANCE"
)
const (
// SettablePolicyStateValuesEnabled is a SettablePolicyStateValues enum value
SettablePolicyStateValuesEnabled = "ENABLED"
// SettablePolicyStateValuesDisabled is a SettablePolicyStateValues enum value
SettablePolicyStateValuesDisabled = "DISABLED"
)