From bff9f3cf64d2bcc1ee3de1b7560856f274a0e3bc Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 24 Apr 2020 18:45:06 +0000 Subject: [PATCH] Update module aws/aws-sdk-go to v1.30.14 --- go.mod | 2 +- go.sum | 4 +- .../stscreds/assume_role_provider.go | 24 + .../stscreds/web_identity_provider.go | 2 + .../aws/aws-sdk-go/aws/endpoints/defaults.go | 47 +- .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../service/applicationautoscaling/api.go | 524 +++++--- .../service/applicationautoscaling/doc.go | 11 +- .../aws/aws-sdk-go/service/dlm/api.go | 4 +- .../aws/aws-sdk-go/service/firehose/api.go | 309 ++++- .../aws/aws-sdk-go/service/iot/api.go | 3 + .../aws/aws-sdk-go/service/pinpoint/api.go | 446 +++++-- .../aws/aws-sdk-go/service/ram/api.go | 226 +++- .../aws/aws-sdk-go/service/rds/api.go | 37 +- .../aws-sdk-go/service/storagegateway/api.go | 856 +++++++++++-- .../aws-sdk-go/service/storagegateway/doc.go | 2 +- .../aws/aws-sdk-go/service/transfer/api.go | 1061 ++++++++++------- .../aws/aws-sdk-go/service/transfer/doc.go | 29 +- .../aws/aws-sdk-go/service/transfer/errors.go | 19 +- .../aws-sdk-go/service/transfer/service.go | 2 +- vendor/modules.txt | 2 +- 21 files changed, 2732 insertions(+), 880 deletions(-) diff --git a/go.mod b/go.mod index df4fd04ef59e..7c0b103d221c 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/terraform-providers/terraform-provider-aws go 1.13 require ( - github.com/aws/aws-sdk-go v1.30.12 + github.com/aws/aws-sdk-go v1.30.14 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderdocs v0.5.0 github.com/bflad/tfproviderlint v0.14.0 diff --git a/go.sum b/go.sum index cec6c442f1ff..efa0152cf8b0 100644 --- a/go.sum +++ b/go.sum @@ -37,8 +37,8 @@ github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.30.12 h1:KrjyosZvkpJjcwMk0RNxMZewQ47v7+ZkbQDXjWsJMs8= -github.com/aws/aws-sdk-go v1.30.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.30.14 h1:vZfX2b/fknc9wKcytbLWykM7in5k6dbQ8iHTJDUP1Ng= +github.com/aws/aws-sdk-go v1.30.14/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go index 73d9763c9bb2..6846ef6f8085 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go @@ -169,6 +169,29 @@ type AssumeRoleProvider struct { // size. Policy *string + // The ARNs of IAM managed policies you want to use as managed session policies. + // The policies must exist in the same account as the role. + // + // This parameter is optional. You can provide up to 10 managed policy ARNs. + // However, the plain text that you use for both inline and managed session + // policies can't exceed 2,048 characters. + // + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. + // + // Passing policies to this operation returns new temporary credentials. The + // resulting session's permissions are the intersection of the role's identity-based + // policy and the session policies. You can use the role's temporary credentials + // in subsequent AWS API calls to access resources in the account that owns + // the role. You cannot use session policies to grant more permissions than + // those allowed by the identity-based policy of the role that is being assumed. + // For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + PolicyArns []*sts.PolicyDescriptorType + // The identification number of the MFA device that is associated with the user // who is making the AssumeRole call. Specify this value if the trust policy // of the role being assumed includes a condition that requires MFA authentication. @@ -291,6 +314,7 @@ func (p *AssumeRoleProvider) RetrieveWithContext(ctx credentials.Context) (crede RoleSessionName: aws.String(p.RoleSessionName), ExternalId: p.ExternalID, Tags: p.Tags, + PolicyArns: p.PolicyArns, TransitiveTagKeys: p.TransitiveTagKeys, } if p.Policy != nil { diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go index fda4951946df..6feb262b2f7a 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go @@ -50,6 +50,7 @@ func (f FetchTokenPath) FetchToken(ctx credentials.Context) ([]byte, error) { // an OIDC token. type WebIdentityRoleProvider struct { credentials.Expiry + PolicyArns []*sts.PolicyDescriptorType client stsiface.STSAPI ExpiryWindow time.Duration @@ -107,6 +108,7 @@ func (p *WebIdentityRoleProvider) RetrieveWithContext(ctx credentials.Context) ( sessionName = strconv.FormatInt(now().UnixNano(), 10) } req, resp := p.client.AssumeRoleWithWebIdentityRequest(&sts.AssumeRoleWithWebIdentityInput{ + PolicyArns: p.PolicyArns, RoleArn: &p.roleARN, RoleSessionName: &sessionName, WebIdentityToken: aws.String(string(b)), diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 4173d38bca57..e5d0035077fe 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -449,6 +449,29 @@ var awsPartition = partition{ }, }, }, + "api.elastic-inference": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{ + Hostname: "api.elastic-inference.ap-northeast-1.amazonaws.com", + }, + "ap-northeast-2": endpoint{ + Hostname: "api.elastic-inference.ap-northeast-2.amazonaws.com", + }, + "eu-west-1": endpoint{ + Hostname: "api.elastic-inference.eu-west-1.amazonaws.com", + }, + "us-east-1": endpoint{ + Hostname: "api.elastic-inference.us-east-1.amazonaws.com", + }, + "us-east-2": endpoint{ + Hostname: "api.elastic-inference.us-east-2.amazonaws.com", + }, + "us-west-2": endpoint{ + Hostname: "api.elastic-inference.us-west-2.amazonaws.com", + }, + }, + }, "api.mediatailor": service{ Endpoints: endpoints{ @@ -1920,29 +1943,6 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, - "elastic-inference": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{ - Hostname: "api.elastic-inference.ap-northeast-1.amazonaws.com", - }, - "ap-northeast-2": endpoint{ - Hostname: "api.elastic-inference.ap-northeast-2.amazonaws.com", - }, - "eu-west-1": endpoint{ - Hostname: "api.elastic-inference.eu-west-1.amazonaws.com", - }, - "us-east-1": endpoint{ - Hostname: "api.elastic-inference.us-east-1.amazonaws.com", - }, - "us-east-2": endpoint{ - Hostname: "api.elastic-inference.us-east-2.amazonaws.com", - }, - "us-west-2": endpoint{ - Hostname: "api.elastic-inference.us-west-2.amazonaws.com", - }, - }, - }, "elasticache": service{ Endpoints: endpoints{ @@ -2729,6 +2729,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-southeast-2": endpoint{}, "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, "me-south-1": endpoint{}, "us-east-2": endpoint{}, "us-west-2": endpoint{}, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index 64b91ae7409c..7b3642375a54 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.30.12" +const SDKVersion = "1.30.14" diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go index b1733a54cf06..a4cce2c0b42b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go @@ -69,8 +69,6 @@ func (c *ApplicationAutoScaling) DeleteScalingPolicyRequest(input *DeleteScaling // and Delete a Target Tracking Scaling Policy (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#delete-target-tracking-policy) // in the Application Auto Scaling User Guide. // -// To create a scaling policy or update an existing one, see PutScalingPolicy. -// // 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. @@ -263,12 +261,12 @@ func (c *ApplicationAutoScaling) DeregisterScalableTargetRequest(input *Deregist // DeregisterScalableTarget API operation for Application Auto Scaling. // -// Deregisters an Application Auto Scaling scalable target. -// -// Deregistering a scalable target deletes the scaling policies that are associated -// with it. +// Deregisters an Application Auto Scaling scalable target when you have finished +// using it. To see which resources have been registered, use DescribeScalableTargets +// (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html). // -// To create a scalable target or update an existing one, see RegisterScalableTarget. +// Deregistering a scalable target deletes the scaling policies and the scheduled +// actions that are associated with it. // // 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 @@ -372,10 +370,6 @@ func (c *ApplicationAutoScaling) DescribeScalableTargetsRequest(input *DescribeS // // You can filter the results using ResourceIds and ScalableDimension. // -// To create a scalable target or update an existing one, see RegisterScalableTarget. -// If you are no longer using a scalable target, you can deregister it using -// DeregisterScalableTarget. -// // 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. @@ -527,11 +521,6 @@ func (c *ApplicationAutoScaling) DescribeScalingActivitiesRequest(input *Describ // // You can filter the results using ResourceId and ScalableDimension. // -// Scaling activities are triggered by CloudWatch alarms that are associated -// with scaling policies. To view the scaling policies for a service namespace, -// see DescribeScalingPolicies. To create a scaling policy or update an existing -// one, see PutScalingPolicy. -// // 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. @@ -683,8 +672,9 @@ func (c *ApplicationAutoScaling) DescribeScalingPoliciesRequest(input *DescribeS // // You can filter the results using ResourceId, ScalableDimension, and PolicyNames. // -// To create a scaling policy or update an existing one, see PutScalingPolicy. -// If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy. +// For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) +// and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) +// in the Application Auto Scaling User Guide. // // 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 @@ -846,8 +836,8 @@ func (c *ApplicationAutoScaling) DescribeScheduledActionsRequest(input *Describe // You can filter the results using the ResourceId, ScalableDimension, and ScheduledActionNames // parameters. // -// To create a scheduled action or update an existing one, see PutScheduledAction. -// If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction. +// For more information, see Scheduled Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) +// in the Application Auto Scaling User Guide. // // 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 @@ -989,19 +979,13 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // PutScalingPolicy API operation for Application Auto Scaling. // -// Creates or updates a policy for an Application Auto Scaling scalable target. +// Creates or updates a scaling policy for an Application Auto Scaling scalable +// target. // // Each scalable target is identified by a service namespace, resource ID, and // scalable dimension. A scaling policy applies to the scalable target identified // by those three attributes. You cannot create a scaling policy until you have -// registered the resource as a scalable target using RegisterScalableTarget. -// -// To update a policy, specify its policy name and the parameters that you want -// to change. Any parameters that you don't specify are not changed by this -// update request. -// -// You can view the scaling policies for a service namespace using DescribeScalingPolicies. -// If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy. +// registered the resource as a scalable target. // // Multiple scaling policies can be in force at the same time for the same scalable // target. You can have one or more target tracking scaling policies, one or @@ -1014,8 +998,13 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // uses the policy with the highest calculated capacity (200% of 10 = 20) and // scales out to 30. // -// Learn more about how to work with scaling policies in the Application Auto -// Scaling User Guide (https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html). +// For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) +// and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) +// in the Application Auto Scaling User Guide. +// +// If a scalable target is deregistered, the scalable target is no longer available +// to execute scaling policies. Any scaling policies that were specified for +// the scalable target are deleted. // // 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 @@ -1128,18 +1117,21 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc // Each scalable target is identified by a service namespace, resource ID, and // scalable dimension. A scheduled action applies to the scalable target identified // by those three attributes. You cannot create a scheduled action until you -// have registered the resource as a scalable target using RegisterScalableTarget. +// have registered the resource as a scalable target. // -// To update an action, specify its name and the parameters that you want to -// change. If you don't specify start and end times, the old values are deleted. -// Any other parameters that you don't specify are not changed by this update -// request. +// When start and end times are specified with a recurring schedule using a +// cron expression or rates, they form the boundaries of when the recurring +// action starts and stops. // -// You can view the scheduled actions using DescribeScheduledActions. If you -// are no longer using a scheduled action, you can delete it using DeleteScheduledAction. +// To update a scheduled action, specify the parameters that you want to change. +// If you don't specify start and end times, the old values are deleted. // -// Learn more about how to work with scheduled actions in the Application Auto -// Scaling User Guide (https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html). +// For more information, see Scheduled Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) +// in the Application Auto Scaling User Guide. +// +// If a scalable target is deregistered, the scalable target is no longer available +// to run scheduled actions. Any scheduled actions that were specified for the +// scalable target are deleted. // // 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 @@ -1238,26 +1230,28 @@ func (c *ApplicationAutoScaling) RegisterScalableTargetRequest(input *RegisterSc // RegisterScalableTarget API operation for Application Auto Scaling. // -// Registers or updates a scalable target. A scalable target is a resource that -// Application Auto Scaling can scale out and scale in. Scalable targets are -// uniquely identified by the combination of resource ID, scalable dimension, -// and namespace. +// Registers or updates a scalable target. // -// When you register a new scalable target, you must specify values for minimum -// and maximum capacity. Application Auto Scaling will not scale capacity to -// values that are outside of this range. +// A scalable target is a resource that Application Auto Scaling can scale out +// and scale in. Scalable targets are uniquely identified by the combination +// of resource ID, scalable dimension, and namespace. // -// To update a scalable target, specify the parameter that you want to change -// as well as the following parameters that identify the scalable target: resource -// ID, scalable dimension, and namespace. Any parameters that you don't specify -// are not changed by this update request. +// When you register a new scalable target, you must specify values for minimum +// and maximum capacity. Application Auto Scaling scaling policies will not +// scale capacity to values that are outside of this range. // // After you register a scalable target, you do not need to register it again // to use other Application Auto Scaling operations. To see which resources -// have been registered, use DescribeScalableTargets. You can also view the -// scaling policies for a service namespace by using DescribeScalableTargets. +// have been registered, use DescribeScalableTargets (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html). +// You can also view the scaling policies for a service namespace by using DescribeScalableTargets +// (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html). +// If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget +// (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeregisterScalableTarget.html). // -// If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget. +// To update a scalable target, specify the parameters that you want to change. +// Include the parameters that identify the scalable target: resource ID, scalable +// dimension, and namespace. Any parameters that you don't specify are not changed +// by this update request. // // 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 @@ -1401,6 +1395,10 @@ func (s *ConcurrentUpdateException) RequestID() string { // Represents a CloudWatch metric of your choosing for a target tracking scaling // policy to use with Application Auto Scaling. // +// For information about the available metrics for a service, see AWS Services +// That Publish CloudWatch Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) +// in the Amazon CloudWatch User Guide. +// // To create your customized metric specification: // // * Add values for each required parameter from CloudWatch. You can use @@ -1412,7 +1410,7 @@ func (s *ConcurrentUpdateException) RequestID() string { // * Choose a metric that changes proportionally with capacity. The value // of the metric should increase or decrease in inverse proportion to the // number of capacity units. That is, the value of the metric should decrease -// when capacity increases. +// when capacity increases, and increase when capacity decreases. // // For more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). type CustomizedMetricSpecification struct { @@ -1560,6 +1558,9 @@ type DeleteScalingPolicyInput struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1606,13 +1607,17 @@ type DeleteScalingPolicyInput struct { // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -1737,6 +1742,9 @@ type DeleteScheduledActionInput struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1783,6 +1791,12 @@ type DeleteScheduledActionInput struct { // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -1791,10 +1805,8 @@ type DeleteScheduledActionInput struct { // ScheduledActionName is a required field ScheduledActionName *string `min:"1" type:"string" required:"true"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -1919,6 +1931,9 @@ type DeregisterScalableTargetInput struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1965,13 +1980,17 @@ type DeregisterScalableTargetInput struct { // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -2096,6 +2115,9 @@ type DescribeScalableTargetsInput struct { // unique identifier is the function name with a function version or alias // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. + // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. ResourceIds []*string `type:"list"` // The scalable dimension associated with the scalable target. This string consists @@ -2141,12 +2163,16 @@ type DescribeScalableTargetsInput struct { // // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. + // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. ScalableDimension *string `type:"string" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -2293,6 +2319,9 @@ type DescribeScalingActivitiesInput struct { // unique identifier is the function name with a function version or alias // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. + // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2338,12 +2367,16 @@ type DescribeScalingActivitiesInput struct { // // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. + // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. ScalableDimension *string `type:"string" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -2496,6 +2529,9 @@ type DescribeScalingPoliciesInput struct { // unique identifier is the function name with a function version or alias // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. + // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2541,12 +2577,16 @@ type DescribeScalingPoliciesInput struct { // // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. + // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. ScalableDimension *string `type:"string" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -2702,6 +2742,9 @@ type DescribeScheduledActionsInput struct { // unique identifier is the function name with a function version or alias // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. + // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2747,15 +2790,19 @@ type DescribeScheduledActionsInput struct { // // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. + // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The names of the scheduled actions to describe. ScheduledActionNames []*string `type:"list"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -3201,6 +3248,12 @@ func (s *ObjectNotFoundException) RequestID() string { // Represents a predefined metric for a target tracking scaling policy to use // with Application Auto Scaling. +// +// Only the AWS services that you're using send metrics to Amazon CloudWatch. +// To determine whether a desired metric already exists by looking up its namespace +// and dimension using the CloudWatch metrics dashboard in the console, follow +// the procedure in Building Dashboards with CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html) +// in the Application Auto Scaling User Guide. type PredefinedMetricSpecification struct { _ struct{} `type:"structure"` @@ -3278,7 +3331,8 @@ type PutScalingPolicyInput struct { // // TargetTrackingScaling—Not supported for Amazon EMR // - // StepScaling—Not supported for DynamoDB, Amazon Comprehend, or AWS Lambda + // StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, or Amazon + // Keyspaces for Apache Cassandra. // // For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) // and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) @@ -3325,6 +3379,9 @@ type PutScalingPolicyInput struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3371,13 +3428,17 @@ type PutScalingPolicyInput struct { // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -3523,7 +3584,7 @@ func (s *PutScalingPolicyOutput) SetPolicyARN(v string) *PutScalingPolicyOutput type PutScheduledActionInput struct { _ struct{} `type:"structure"` - // The date and time for the scheduled action to end. + // The date and time for the recurring schedule to end. EndTime *time.Time `type:"timestamp"` // The identifier of the resource associated with the scheduled action. This @@ -3566,6 +3627,9 @@ type PutScheduledActionInput struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3612,11 +3676,17 @@ type PutScheduledActionInput struct { // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` // The new minimum and maximum capacity. You can set both values or just one. - // During the scheduled time, if the current capacity is below the minimum capacity, + // At the scheduled time, if the current capacity is below the minimum capacity, // Application Auto Scaling scales out to the minimum capacity. If the current // capacity is above the maximum capacity, Application Auto Scaling scales in // to the maximum capacity. @@ -3630,29 +3700,31 @@ type PutScheduledActionInput struct { // // * Cron expressions - "cron(fields)" // - // At expressions are useful for one-time schedules. Specify the time, in UTC. + // At expressions are useful for one-time schedules. Specify the time in UTC. // // For rate expressions, value is a positive integer and unit is minute | minutes // | hour | hours | day | days. // // For more information about cron expressions, see Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) // in the Amazon CloudWatch Events User Guide. + // + // For examples of using these expressions, see Scheduled Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) + // in the Application Auto Scaling User Guide. Schedule *string `min:"1" type:"string"` - // The name of the scheduled action. + // The name of the scheduled action. This name must be unique among all other + // scheduled actions on the specified scalable target. // // ScheduledActionName is a required field ScheduledActionName *string `min:"1" type:"string" required:"true"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` - // The date and time for the scheduled action to start. + // The date and time for this scheduled action to start. StartTime *time.Time `type:"timestamp"` } @@ -3762,12 +3834,20 @@ func (s PutScheduledActionOutput) GoString() string { type RegisterScalableTargetInput struct { _ struct{} `type:"structure"` - // The maximum value to scale to in response to a scale-out event. MaxCapacity - // is required to register a scalable target. + // The maximum value that you plan to scale out to. When a scaling policy is + // in effect, Application Auto Scaling can scale out (expand) as needed to the + // maximum capacity limit in response to changing demand. + // + // This parameter is required if you are registering a scalable target. MaxCapacity *int64 `type:"integer"` - // The minimum value to scale to in response to a scale-in event. MinCapacity - // is required to register a scalable target. + // The minimum value that you plan to scale in to. When a scaling policy is + // in effect, Application Auto Scaling can scale in (contract) as needed to + // the minimum capacity limit in response to changing demand. + // + // This parameter is required if you are registering a scalable target. For + // Lambda provisioned concurrency, the minimum value allowed is 0. For all other + // resources, the minimum value allowed is 1. MinCapacity *int64 `type:"integer"` // The identifier of the resource that is associated with the scalable target. @@ -3810,16 +3890,19 @@ type RegisterScalableTargetInput struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` - // Application Auto Scaling creates a service-linked role that grants it permissions - // to modify the scalable target on your behalf. For more information, see Service-Linked - // Roles for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html). + // This parameter is required for services that do not support service-linked + // roles (such as Amazon EMR), and it must specify the ARN of an IAM role that + // allows Application Auto Scaling to modify the scalable target on your behalf. // - // For Amazon EMR, this parameter is required, and it must specify the ARN of - // an IAM role that allows Application Auto Scaling to modify the scalable target - // on your behalf. + // If the service supports service-linked roles, Application Auto Scaling uses + // a service-linked role, which it creates if it does not yet exist. For more + // information, see Application Auto Scaling IAM Roles (https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles). RoleARN *string `min:"1" type:"string"` // The scalable dimension associated with the scalable target. This string consists @@ -3865,13 +3948,17 @@ type RegisterScalableTargetInput struct { // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource. For a resource + // provided by your own application or service, use custom-resource instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -4047,6 +4134,9 @@ type ScalableTarget struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4099,13 +4189,16 @@ type ScalableTarget struct { // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource, or a custom-resource. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -4181,6 +4274,9 @@ type ScalableTargetAction struct { MaxCapacity *int64 `type:"integer"` // The minimum capacity. + // + // For Lambda provisioned concurrency, the minimum value allowed is 0. For all + // other resources, the minimum value allowed is 1. MinCapacity *int64 `type:"integer"` } @@ -4271,6 +4367,9 @@ type ScalingActivity struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4317,13 +4416,16 @@ type ScalingActivity struct { // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource, or a custom-resource. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -4485,6 +4587,9 @@ type ScalingPolicy struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4531,13 +4636,16 @@ type ScalingPolicy struct { // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource, or a custom-resource. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -4671,6 +4779,9 @@ type ScheduledAction struct { // name suffix that is not $LATEST. Example: function:my-function:prod or // function:my-function:1. // + // * Amazon Keyspaces table - The resource type is table and the unique identifier + // is the table name. Example: keyspace/mykeyspace/table/mytable. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4716,10 +4827,16 @@ type ScheduledAction struct { // // * lambda:function:ProvisionedConcurrency - The provisioned concurrency // for a Lambda function. + // + // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for + // an Amazon Keyspaces table. + // + // * cassandra:table:WriteCapacityUnits - The provisioned write capacity + // for an Amazon Keyspaces table. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The new minimum and maximum capacity. You can set both values or just one. - // During the scheduled time, if the current capacity is below the minimum capacity, + // At the scheduled time, if the current capacity is below the minimum capacity, // Application Auto Scaling scales out to the minimum capacity. If the current // capacity is above the maximum capacity, Application Auto Scaling scales in // to the maximum capacity. @@ -4733,7 +4850,7 @@ type ScheduledAction struct { // // * Cron expressions - "cron(fields)" // - // At expressions are useful for one-time schedules. Specify the time, in UTC. + // At expressions are useful for one-time schedules. Specify the time in UTC. // // For rate expressions, value is a positive integer and unit is minute | minutes // | hour | hours | day | days. @@ -4741,6 +4858,9 @@ type ScheduledAction struct { // For more information about cron expressions, see Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) // in the Amazon CloudWatch Events User Guide. // + // For examples of using these expressions, see Scheduled Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) + // in the Application Auto Scaling User Guide. + // // Schedule is a required field Schedule *string `min:"1" type:"string" required:"true"` @@ -4754,10 +4874,7 @@ type ScheduledAction struct { // ScheduledActionName is a required field ScheduledActionName *string `min:"1" type:"string" required:"true"` - // The namespace of the AWS service that provides the resource or custom-resource - // for a resource provided by your own application or service. For more information, - // see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) - // in the Amazon Web Services General Reference. + // The namespace of the AWS service that provides the resource, or a custom-resource. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -4836,9 +4953,10 @@ func (s *ScheduledAction) SetStartTime(v time.Time) *ScheduledAction { return s } -// Represents a step adjustment for a StepScalingPolicyConfiguration. Describes -// an adjustment based on the difference between the value of the aggregated -// CloudWatch metric and the breach threshold that you've defined for the alarm. +// Represents a step adjustment for a StepScalingPolicyConfiguration (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html). +// Describes an adjustment based on the difference between the value of the +// aggregated CloudWatch metric and the breach threshold that you've defined +// for the alarm. // // For the following examples, suppose that you have an alarm with a breach // threshold of 50: @@ -4885,8 +5003,8 @@ type StepAdjustment struct { MetricIntervalUpperBound *float64 `type:"double"` // The amount by which to scale, based on the specified adjustment type. A positive - // value adds to the current scalable dimension while a negative number removes - // from the current scalable dimension. + // value adds to the current capacity while a negative number removes from the + // current capacity. // // ScalingAdjustment is a required field ScalingAdjustment *int64 `type:"integer" required:"true"` @@ -4938,8 +5056,10 @@ func (s *StepAdjustment) SetScalingAdjustment(v int64) *StepAdjustment { type StepScalingPolicyConfiguration struct { _ struct{} `type:"structure"` - // Specifies whether the ScalingAdjustment value in a StepAdjustment is an absolute - // number or a percentage of the current capacity. + // Specifies whether the ScalingAdjustment value in a StepAdjustment (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepAdjustment.html) + // is an absolute number or a percentage of the current capacity. + // + // AdjustmentType is required if you are adding a new step scaling policy configuration. AdjustmentType *string `type:"string" enum:"AdjustmentType"` // The amount of time, in seconds, after a scaling activity completes where @@ -4947,7 +5067,7 @@ type StepScalingPolicyConfiguration struct { // events. // // For scale-out policies, while the cooldown period is in effect, the capacity - // that has been added by the previous scale-out event that initiated the cooldown + // that has been added by the previous scale-out action that initiated the cooldown // is calculated as part of the desired capacity for the next scale out. The // intention is to continuously (but not excessively) scale out. For example, // an alarm triggers a step scaling policy to scale out an Amazon ECS service @@ -4955,7 +5075,7 @@ type StepScalingPolicyConfiguration struct { // of 5 minutes starts. During the cooldown period, if the alarm triggers the // same policy again but at a more aggressive step adjustment to scale out the // service by 3 tasks, the 2 tasks that were added in the previous scale-out - // event are considered part of that capacity and only 1 additional task is + // action are considered part of that capacity and only 1 additional task is // added to the desired count. // // For scale-in policies, the cooldown period is used to block subsequent scale-in @@ -4963,6 +5083,35 @@ type StepScalingPolicyConfiguration struct { // to protect your application's availability. However, if another alarm triggers // a scale-out policy during the cooldown period after a scale-in, Application // Auto Scaling scales out your scalable target immediately. + // + // Application Auto Scaling provides a default value of 300 for the following + // scalable targets: + // + // * ECS services + // + // * Spot Fleet requests + // + // * EMR clusters + // + // * AppStream 2.0 fleets + // + // * Aurora DB clusters + // + // * Amazon SageMaker endpoint variants + // + // * Custom resources + // + // For all other scalable targets, the default value is 0: + // + // * DynamoDB tables + // + // * DynamoDB global secondary indexes + // + // * Amazon Comprehend document classification endpoints + // + // * Lambda provisioned concurrency + // + // * Amazon Keyspaces tables Cooldown *int64 `type:"integer"` // The aggregation type for the CloudWatch metrics. Valid values are Minimum, @@ -4970,19 +5119,21 @@ type StepScalingPolicyConfiguration struct { // as Average. MetricAggregationType *string `type:"string" enum:"MetricAggregationType"` - // The minimum number to adjust your scalable dimension as a result of a scaling - // activity. If the adjustment type is PercentChangeInCapacity, the scaling - // policy changes the scalable dimension of the scalable target by this amount. + // The minimum value to scale by when scaling by percentages. For example, suppose + // that you create a step scaling policy to scale out an Amazon ECS service + // by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the service + // has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1. However, + // because you specified a MinAdjustmentMagnitude of 2, Application Auto Scaling + // scales out the service by 2 tasks. // - // For example, suppose that you create a step scaling policy to scale out an - // Amazon ECS service by 25 percent and you specify a MinAdjustmentMagnitude - // of 2. If the service has 4 tasks and the scaling policy is performed, 25 - // percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude - // of 2, Application Auto Scaling scales out the service by 2 tasks. + // Valid only if the adjustment type is PercentChangeInCapacity. MinAdjustmentMagnitude *int64 `type:"integer"` // A set of adjustments that enable you to scale based on the size of the alarm // breach. + // + // At least one step adjustment is required if you are adding a new step scaling + // policy configuration. StepAdjustments []*StepAdjustment `type:"list"` } @@ -5106,9 +5257,9 @@ type TargetTrackingScalingPolicyConfiguration struct { // Indicates whether scale in by the target tracking scaling policy is disabled. // If the value is true, scale in is disabled and the target tracking scaling - // policy won't remove capacity from the scalable resource. Otherwise, scale - // in is enabled and the target tracking scaling policy can remove capacity - // from the scalable resource. The default value is false. + // policy won't remove capacity from the scalable target. Otherwise, scale in + // is enabled and the target tracking scaling policy can remove capacity from + // the scalable target. The default value is false. DisableScaleIn *bool `type:"boolean"` // A predefined metric. You can specify either a predefined metric or a customized @@ -5123,15 +5274,73 @@ type TargetTrackingScalingPolicyConfiguration struct { // application's availability. However, if another alarm triggers a scale-out // policy during the cooldown period after a scale-in, Application Auto Scaling // scales out your scalable target immediately. + // + // Application Auto Scaling provides a default value of 300 for the following + // scalable targets: + // + // * ECS services + // + // * Spot Fleet requests + // + // * EMR clusters + // + // * AppStream 2.0 fleets + // + // * Aurora DB clusters + // + // * Amazon SageMaker endpoint variants + // + // * Custom resources + // + // For all other scalable targets, the default value is 0: + // + // * DynamoDB tables + // + // * DynamoDB global secondary indexes + // + // * Amazon Comprehend document classification endpoints + // + // * Lambda provisioned concurrency + // + // * Amazon Keyspaces tables ScaleInCooldown *int64 `type:"integer"` // The amount of time, in seconds, after a scale-out activity completes before // another scale-out activity can start. // // While the cooldown period is in effect, the capacity that has been added - // by the previous scale-out event that initiated the cooldown is calculated + // by the previous scale-out action that initiated the cooldown is calculated // as part of the desired capacity for the next scale out. The intention is // to continuously (but not excessively) scale out. + // + // Application Auto Scaling provides a default value of 300 for the following + // scalable targets: + // + // * ECS services + // + // * Spot Fleet requests + // + // * EMR clusters + // + // * AppStream 2.0 fleets + // + // * Aurora DB clusters + // + // * Amazon SageMaker endpoint variants + // + // * Custom resources + // + // For all other scalable targets, the default value is 0: + // + // * DynamoDB tables + // + // * DynamoDB global secondary indexes + // + // * Amazon Comprehend document classification endpoints + // + // * Lambda provisioned concurrency + // + // * Amazon Keyspaces tables ScaleOutCooldown *int64 `type:"integer"` // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 @@ -5348,6 +5557,12 @@ const ( // MetricTypeLambdaProvisionedConcurrencyUtilization is a MetricType enum value MetricTypeLambdaProvisionedConcurrencyUtilization = "LambdaProvisionedConcurrencyUtilization" + + // MetricTypeCassandraReadCapacityUtilization is a MetricType enum value + MetricTypeCassandraReadCapacityUtilization = "CassandraReadCapacityUtilization" + + // MetricTypeCassandraWriteCapacityUtilization is a MetricType enum value + MetricTypeCassandraWriteCapacityUtilization = "CassandraWriteCapacityUtilization" ) const ( @@ -5397,6 +5612,12 @@ const ( // ScalableDimensionLambdaFunctionProvisionedConcurrency is a ScalableDimension enum value ScalableDimensionLambdaFunctionProvisionedConcurrency = "lambda:function:ProvisionedConcurrency" + + // ScalableDimensionCassandraTableReadCapacityUnits is a ScalableDimension enum value + ScalableDimensionCassandraTableReadCapacityUnits = "cassandra:table:ReadCapacityUnits" + + // ScalableDimensionCassandraTableWriteCapacityUnits is a ScalableDimension enum value + ScalableDimensionCassandraTableWriteCapacityUnits = "cassandra:table:WriteCapacityUnits" ) const ( @@ -5449,4 +5670,7 @@ const ( // ServiceNamespaceLambda is a ServiceNamespace enum value ServiceNamespaceLambda = "lambda" + + // ServiceNamespaceCassandra is a ServiceNamespace enum value + ServiceNamespaceCassandra = "cassandra" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go index 4a1a89ee70a8..88feeb8edb1c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go @@ -26,6 +26,8 @@ // // * AWS Lambda function provisioned concurrency // +// * Amazon Keyspaces for Apache Cassandra tables +// // API Summary // // The Application Auto Scaling service API includes three key sets of actions: @@ -41,10 +43,11 @@ // activity history. // // * Suspend and resume scaling - Temporarily suspend and later resume automatic -// scaling by calling the RegisterScalableTarget action for any Application -// Auto Scaling scalable target. You can suspend and resume, individually -// or in combination, scale-out activities triggered by a scaling policy, -// scale-in activities triggered by a scaling policy, and scheduled scaling. +// scaling by calling the RegisterScalableTarget (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html) +// API action for any Application Auto Scaling scalable target. You can suspend +// and resume (individually or in combination) scale-out activities that +// are triggered by a scaling policy, scale-in activities that are triggered +// by a scaling policy, and scheduled scaling. // // To learn more about Application Auto Scaling, including information about // granting IAM users required permissions for Application Auto Scaling actions, diff --git a/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go b/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go index 6d589aa026af..4ad17a35edae 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go @@ -833,8 +833,8 @@ func (s *CreateLifecyclePolicyOutput) SetPolicyId(v string) *CreateLifecyclePoli type CreateRule struct { _ struct{} `type:"structure"` - // The interval between snapshots. The supported values are 2, 3, 4, 6, 8, 12, - // and 24. + // The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, + // 12, and 24. // // Interval is a required field Interval *int64 `min:"1" type:"integer" required:"true"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go index 76f31eb5c14b..63f397348f41 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go @@ -866,9 +866,11 @@ func (c *Firehose) StartDeliveryStreamEncryptionRequest(input *StartDeliveryStre // // Even if encryption is currently enabled for a delivery stream, you can still // invoke this operation on it to change the ARN of the CMK or both its type -// and ARN. In this case, Kinesis Data Firehose schedules the grant it had on -// the old CMK for retirement and creates a grant that enables it to use the -// new CMK to encrypt and decrypt data and to manage the grant. +// and ARN. If you invoke this method to change the CMK, and the old CMK is +// of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose schedules the grant it +// had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, +// Kinesis Data Firehose creates a grant that enables it to use the new CMK +// to encrypt and decrypt data and to manage the grant. // // If a delivery stream already has encryption enabled and then you invoke this // operation to change the ARN of the CMK or both its type and ARN and you get @@ -876,10 +878,12 @@ func (c *Firehose) StartDeliveryStreamEncryptionRequest(input *StartDeliveryStre // In this case, encryption remains enabled with the old CMK. // // If the encryption status of your delivery stream is ENABLING_FAILED, you -// can invoke this operation again. +// can invoke this operation again with a valid CMK. The CMK must be enabled +// and the key policy mustn't explicitly deny the permission for Kinesis Data +// Firehose to invoke KMS encrypt and decrypt operations. // -// You can only enable SSE for a delivery stream that uses DirectPut as its -// source. +// You can enable SSE for a delivery stream only if it's a delivery stream that +// uses DirectPut as its source. // // The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations // have a combined limit of 25 calls per delivery stream per 24 hours. For example, @@ -1831,14 +1835,17 @@ type DataFormatConversionConfiguration struct { Enabled *bool `type:"boolean"` // Specifies the deserializer that you want Kinesis Data Firehose to use to - // convert the format of your data from JSON. + // convert the format of your data from JSON. This parameter is required if + // Enabled is set to true. InputFormatConfiguration *InputFormatConfiguration `type:"structure"` // Specifies the serializer that you want Kinesis Data Firehose to use to convert - // the format of your data to the Parquet or ORC format. + // the format of your data to the Parquet or ORC format. This parameter is required + // if Enabled is set to true. OutputFormatConfiguration *OutputFormatConfiguration `type:"structure"` // Specifies the AWS Glue Data Catalog table that contains the column information. + // This parameter is required if Enabled is set to true. SchemaConfiguration *SchemaConfiguration `type:"structure"` } @@ -1860,6 +1867,11 @@ func (s *DataFormatConversionConfiguration) Validate() error { invalidParams.AddNested("OutputFormatConfiguration", err.(request.ErrInvalidParams)) } } + if s.SchemaConfiguration != nil { + if err := s.SchemaConfiguration.Validate(); err != nil { + invalidParams.AddNested("SchemaConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2179,8 +2191,8 @@ func (s *DeliveryStreamEncryptionConfiguration) SetStatus(v string) *DeliveryStr return s } -// Used to specify the type and Amazon Resource Name (ARN) of the CMK needed -// for Server-Side Encryption (SSE). +// Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side +// Encryption (SSE). type DeliveryStreamEncryptionConfigurationInput struct { _ struct{} `type:"structure"` @@ -2200,8 +2212,17 @@ type DeliveryStreamEncryptionConfigurationInput struct { // manages that grant. // // When you invoke StartDeliveryStreamEncryption to change the CMK for a delivery - // stream that is already encrypted with a customer managed CMK, Kinesis Data - // Firehose schedules the grant it had on the old CMK for retirement. + // stream that is encrypted with a customer managed CMK, Kinesis Data Firehose + // schedules the grant it had on the old CMK for retirement. + // + // You can use a CMK of type CUSTOMER_MANAGED_CMK to encrypt up to 500 delivery + // streams. If a CreateDeliveryStream or StartDeliveryStreamEncryption operation + // exceeds this limit, Kinesis Data Firehose throws a LimitExceededException. + // + // To encrypt your delivery stream, use symmetric CMKs. Kinesis Data Firehose + // doesn't support asymmetric CMKs. For information about symmetric and asymmetric + // CMKs, see About Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html) + // in the AWS Key Management Service developer guide. // // KeyType is a required field KeyType *string `type:"string" required:"true" enum:"KeyType"` @@ -2581,6 +2602,9 @@ type ElasticsearchDestinationConfiguration struct { // // For Elasticsearch 7.x, don't specify a TypeName. TypeName *string `type:"string"` + + // The details of the VPC of the Amazon ES destination. + VpcConfiguration *VpcConfiguration `type:"structure"` } // String returns the string representation @@ -2632,6 +2656,11 @@ func (s *ElasticsearchDestinationConfiguration) Validate() error { invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) } } + if s.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2711,6 +2740,12 @@ func (s *ElasticsearchDestinationConfiguration) SetTypeName(v string) *Elasticse return s } +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *ElasticsearchDestinationConfiguration) SetVpcConfiguration(v *VpcConfiguration) *ElasticsearchDestinationConfiguration { + s.VpcConfiguration = v + return s +} + // The destination description in Amazon ES. type ElasticsearchDestinationDescription struct { _ struct{} `type:"structure"` @@ -2758,6 +2793,9 @@ type ElasticsearchDestinationDescription struct { // The Elasticsearch type name. This applies to Elasticsearch 6.x and lower // versions. For Elasticsearch 7.x, there's no value for TypeName. TypeName *string `type:"string"` + + // The details of the VPC of the Amazon ES destination. + VpcConfigurationDescription *VpcConfigurationDescription `type:"structure"` } // String returns the string representation @@ -2842,6 +2880,12 @@ func (s *ElasticsearchDestinationDescription) SetTypeName(v string) *Elasticsear return s } +// SetVpcConfigurationDescription sets the VpcConfigurationDescription field's value. +func (s *ElasticsearchDestinationDescription) SetVpcConfigurationDescription(v *VpcConfigurationDescription) *ElasticsearchDestinationDescription { + s.VpcConfigurationDescription = v + return s +} + // Describes an update for a destination in Amazon ES. type ElasticsearchDestinationUpdate struct { _ struct{} `type:"structure"` @@ -3600,7 +3644,7 @@ type FailureDescription struct { // A message providing details about the error that caused the failure. // // Details is a required field - Details *string `type:"string" required:"true"` + Details *string `min:"1" type:"string" required:"true"` // The type of error that caused the failure. // @@ -3665,7 +3709,7 @@ func (s *HiveJsonSerDe) SetTimestampFormats(v []*string) *HiveJsonSerDe { } // Specifies the deserializer you want to use to convert the format of the input -// data. +// data. This parameter is required if Enabled is set to true. type InputFormatConfiguration struct { _ struct{} `type:"structure"` @@ -4438,7 +4482,8 @@ func (s *OrcSerDe) SetStripeSizeBytes(v int64) *OrcSerDe { } // Specifies the serializer that you want Kinesis Data Firehose to use to convert -// the format of your data before it writes it to Amazon S3. +// the format of your data before it writes it to Amazon S3. This parameter +// is required if Enabled is set to true. type OutputFormatConfiguration struct { _ struct{} `type:"structure"` @@ -6021,35 +6066,36 @@ func (s *S3DestinationUpdate) SetRoleARN(v string) *S3DestinationUpdate { } // Specifies the schema to which you want Kinesis Data Firehose to configure -// your data before it writes it to Amazon S3. +// your data before it writes it to Amazon S3. This parameter is required if +// Enabled is set to true. type SchemaConfiguration struct { _ struct{} `type:"structure"` // The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account // ID is used by default. - CatalogId *string `type:"string"` + CatalogId *string `min:"1" type:"string"` // Specifies the name of the AWS Glue database that contains the schema for // the output data. - DatabaseName *string `type:"string"` + DatabaseName *string `min:"1" type:"string"` // If you don't specify an AWS Region, the default is the current Region. - Region *string `type:"string"` + Region *string `min:"1" type:"string"` // The role that Kinesis Data Firehose can use to access AWS Glue. This role // must be in the same account you use for Kinesis Data Firehose. Cross-account // roles aren't allowed. - RoleARN *string `type:"string"` + RoleARN *string `min:"1" type:"string"` // Specifies the AWS Glue table that contains the column information that constitutes // your data schema. - TableName *string `type:"string"` + TableName *string `min:"1" type:"string"` // Specifies the table version for the output data schema. If you don't specify // this version ID, or if you set it to LATEST, Kinesis Data Firehose uses the // most recent version. This means that any updates to the table are automatically // picked up. - VersionId *string `type:"string"` + VersionId *string `min:"1" type:"string"` } // String returns the string representation @@ -6062,6 +6108,34 @@ func (s SchemaConfiguration) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *SchemaConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SchemaConfiguration"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Region != nil && len(*s.Region) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Region", 1)) + } + if s.RoleARN != nil && len(*s.RoleARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.VersionId != nil && len(*s.VersionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCatalogId sets the CatalogId field's value. func (s *SchemaConfiguration) SetCatalogId(v string) *SchemaConfiguration { s.CatalogId = &v @@ -7154,6 +7228,173 @@ func (s UpdateDestinationOutput) GoString() string { return s.String() } +// The details of the VPC of the Amazon ES destination. +type VpcConfiguration struct { + _ struct{} `type:"structure"` + + // The ARN of the IAM role that you want the delivery stream to use to create + // endpoints in the destination VPC. + // + // RoleARN is a required field + RoleARN *string `min:"1" type:"string" required:"true"` + + // The IDs of the security groups that you want Kinesis Data Firehose to use + // when it creates ENIs in the VPC of the Amazon ES destination. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `min:"1" type:"list" required:"true"` + + // The IDs of the subnets that you want Kinesis Data Firehose to use to create + // ENIs in the VPC of the Amazon ES destination. Make sure that the routing + // tables and inbound and outbound rules allow traffic to flow from the subnets + // whose IDs are specified here to the subnets that have the destination Amazon + // ES endpoints. Kinesis Data Firehose creates at least one ENI in each of the + // subnets that are specified here. Do not delete or modify these ENIs. + // + // The number of ENIs that Kinesis Data Firehose creates in the subnets specified + // here scales up and down automatically based on throughput. To enable Kinesis + // Data Firehose to scale up the number of ENIs to match throughput, ensure + // that you have sufficient quota. To help you calculate the quota you need, + // assume that Kinesis Data Firehose can create up to three ENIs for this delivery + // stream for each of the subnets specified here. For more information about + // ENI quota, see Network Interfaces (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis) + // in the Amazon VPC Quotas topic. + // + // SubnetIds is a required field + SubnetIds []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s VpcConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} + if s.RoleARN == nil { + invalidParams.Add(request.NewErrParamRequired("RoleARN")) + } + if s.RoleARN != nil && len(*s.RoleARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) + } + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.SubnetIds != nil && len(s.SubnetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoleARN sets the RoleARN field's value. +func (s *VpcConfiguration) SetRoleARN(v string) *VpcConfiguration { + s.RoleARN = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfiguration) SetSecurityGroupIds(v []*string) *VpcConfiguration { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration { + s.SubnetIds = v + return s +} + +// The details of the VPC of the Amazon ES destination. +type VpcConfigurationDescription struct { + _ struct{} `type:"structure"` + + // The ARN of the IAM role that you want the delivery stream uses to create + // endpoints in the destination VPC. + // + // RoleARN is a required field + RoleARN *string `min:"1" type:"string" required:"true"` + + // The IDs of the security groups that Kinesis Data Firehose uses when it creates + // ENIs in the VPC of the Amazon ES destination. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `min:"1" type:"list" required:"true"` + + // The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in + // the VPC of the Amazon ES destination. Make sure that the routing tables and + // inbound and outbound rules allow traffic to flow from the subnets whose IDs + // are specified here to the subnets that have the destination Amazon ES endpoints. + // Kinesis Data Firehose creates at least one ENI in each of the subnets that + // are specified here. Do not delete or modify these ENIs. + // + // The number of ENIs that Kinesis Data Firehose creates in the subnets specified + // here scales up and down automatically based on throughput. To enable Kinesis + // Data Firehose to scale up the number of ENIs to match throughput, ensure + // that you have sufficient quota. To help you calculate the quota you need, + // assume that Kinesis Data Firehose can create up to three ENIs for this delivery + // stream for each of the subnets specified here. For more information about + // ENI quota, see Network Interfaces (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis) + // in the Amazon VPC Quotas topic. + // + // SubnetIds is a required field + SubnetIds []*string `min:"1" type:"list" required:"true"` + + // The ID of the Amazon ES destination's VPC. + // + // VpcId is a required field + VpcId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s VpcConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConfigurationDescription) GoString() string { + return s.String() +} + +// SetRoleARN sets the RoleARN field's value. +func (s *VpcConfigurationDescription) SetRoleARN(v string) *VpcConfigurationDescription { + s.RoleARN = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfigurationDescription) SetSecurityGroupIds(v []*string) *VpcConfigurationDescription { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcConfigurationDescription) SetSubnetIds(v []*string) *VpcConfigurationDescription { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *VpcConfigurationDescription) SetVpcId(v string) *VpcConfigurationDescription { + s.VpcId = &v + return s +} + const ( // CompressionFormatUncompressed is a CompressionFormat enum value CompressionFormatUncompressed = "UNCOMPRESSED" @@ -7166,6 +7407,9 @@ const ( // CompressionFormatSnappy is a CompressionFormat enum value CompressionFormatSnappy = "Snappy" + + // CompressionFormatHadoopSnappy is a CompressionFormat enum value + CompressionFormatHadoopSnappy = "HADOOP_SNAPPY" ) const ( @@ -7210,6 +7454,27 @@ const ( // DeliveryStreamFailureTypeKmsOptInRequired is a DeliveryStreamFailureType enum value DeliveryStreamFailureTypeKmsOptInRequired = "KMS_OPT_IN_REQUIRED" + // DeliveryStreamFailureTypeCreateEniFailed is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeCreateEniFailed = "CREATE_ENI_FAILED" + + // DeliveryStreamFailureTypeDeleteEniFailed is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeDeleteEniFailed = "DELETE_ENI_FAILED" + + // DeliveryStreamFailureTypeSubnetNotFound is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeSubnetNotFound = "SUBNET_NOT_FOUND" + + // DeliveryStreamFailureTypeSecurityGroupNotFound is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeSecurityGroupNotFound = "SECURITY_GROUP_NOT_FOUND" + + // DeliveryStreamFailureTypeEniAccessDenied is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeEniAccessDenied = "ENI_ACCESS_DENIED" + + // DeliveryStreamFailureTypeSubnetAccessDenied is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeSubnetAccessDenied = "SUBNET_ACCESS_DENIED" + + // DeliveryStreamFailureTypeSecurityGroupAccessDenied is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeSecurityGroupAccessDenied = "SECURITY_GROUP_ACCESS_DENIED" + // DeliveryStreamFailureTypeUnknownError is a DeliveryStreamFailureType enum value DeliveryStreamFailureTypeUnknownError = "UNKNOWN_ERROR" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/iot/api.go b/vendor/github.com/aws/aws-sdk-go/service/iot/api.go index 21e86decc72c..411f5635027d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iot/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iot/api.go @@ -15760,6 +15760,9 @@ func (c *IoT) SetV2LoggingLevelRequest(input *SetV2LoggingLevelInput) (req *requ // * ServiceUnavailableException // The service is temporarily unavailable. // +// * LimitExceededException +// A limit has been exceeded. +// func (c *IoT) SetV2LoggingLevel(input *SetV2LoggingLevelInput) (*SetV2LoggingLevelOutput, error) { req, out := c.SetV2LoggingLevelRequest(input) return out, req.Send() diff --git a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go index 835a5d2ad077..d0798a85c60e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go @@ -9637,8 +9637,9 @@ func (c *Pinpoint) UpdateEndpointRequest(input *UpdateEndpointInput) (req *reque // // Creates a new endpoint for an application or updates the settings and attributes // of an existing endpoint for an application. You can also use this operation -// to define custom attributes (Attributes, Metrics, and UserAttributes properties) -// for an endpoint. +// to define custom attributes for an endpoint. If an update includes one or +// more values for a custom attribute, Amazon Pinpoint replaces (overwrites) +// any existing values with the new values. // // 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 @@ -9737,8 +9738,9 @@ func (c *Pinpoint) UpdateEndpointsBatchRequest(input *UpdateEndpointsBatchInput) // // Creates a new batch of endpoints for an application or updates the settings // and attributes of a batch of existing endpoints for an application. You can -// also use this operation to define custom attributes (Attributes, Metrics, -// and UserAttributes properties) for a batch of endpoints. +// also use this operation to define custom attributes for a batch of endpoints. +// If an update includes one or more values for a custom attribute, Amazon Pinpoint +// replaces (overwrites) any existing values with the new values. // // 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 @@ -13039,7 +13041,7 @@ type ApplicationDateRangeKpiResponse struct { // that the data was retrieved for. This value describes the associated metric // and consists of two or more terms, which are comprised of lowercase alphanumeric // characters, separated by a hyphen. For a list of possible values, see the - // Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). // // KpiName is a required field KpiName *string `type:"string" required:"true"` @@ -13177,15 +13179,16 @@ type ApplicationSettingsResource struct { // ApplicationId is a required field ApplicationId *string `type:"string" required:"true"` - // The settings for the AWS Lambda function to use by default as a code hook - // for campaigns in the application. + // The settings for the AWS Lambda function to invoke by default as a code hook + // for campaigns in the application. You can use this hook to customize segments + // that are used by campaigns in the application. CampaignHook *CampaignHook `type:"structure"` // The date and time, in ISO 8601 format, when the application's settings were // last modified. LastModifiedDate *string `type:"string"` - // The default sending limits for campaigns in the application. + // The default sending limits for campaigns and journeys in the application. Limits *CampaignLimits `type:"structure"` // The default quiet time for campaigns and journeys in the application. Quiet @@ -13833,6 +13836,32 @@ func (s *BaseKpiResult) SetRows(v []*ResultRow) *BaseKpiResult { return s } +// Specifies the contents of a message that's sent through a custom channel +// to recipients of a campaign. +type CampaignCustomMessage struct { + _ struct{} `type:"structure"` + + // The raw, JSON-formatted string to use as the payload for the message. The + // maximum size is 5 KB. + Data *string `type:"string"` +} + +// String returns the string representation +func (s CampaignCustomMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CampaignCustomMessage) GoString() string { + return s.String() +} + +// SetData sets the Data field's value. +func (s *CampaignCustomMessage) SetData(v string) *CampaignCustomMessage { + s.Data = &v + return s +} + // Provides the results of a query that retrieved the data for a standard metric // that applies to a campaign, and provides information about that query. type CampaignDateRangeKpiResponse struct { @@ -13855,7 +13884,7 @@ type CampaignDateRangeKpiResponse struct { // that the data was retrieved for. This value describes the associated metric // and consists of two or more terms, which are comprised of lowercase alphanumeric // characters, separated by a hyphen. For a list of possible values, see the - // Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). // // KpiName is a required field KpiName *string `type:"string" required:"true"` @@ -14042,15 +14071,25 @@ func (s *CampaignEventFilter) SetFilterType(v string) *CampaignEventFilter { return s } -// Specifies the AWS Lambda function to use as a code hook for a campaign. +// Specifies settings for invoking an AWS Lambda function that customizes a +// segment for a campaign. type CampaignHook struct { _ struct{} `type:"structure"` // The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon - // Pinpoint invokes to send messages for a campaign. + // Pinpoint invokes to customize a segment for a campaign. LambdaFunctionName *string `type:"string"` - // Specifies which Lambda mode to use when invoking the AWS Lambda function. + // The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. Possible + // values are: + // + // * FILTER - Invoke the function to customize the segment that's used by + // a campaign. + // + // * DELIVERY - (Deprecated) Previously, invoked the function to send a campaign + // through a custom channel. This functionality is not supported anymore. + // To send a campaign through a custom channel, use the CustomDeliveryConfiguration + // and CampaignCustomMessage objects of the campaign. Mode *string `type:"string" enum:"Mode"` // The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function @@ -14086,12 +14125,16 @@ func (s *CampaignHook) SetWebUrl(v string) *CampaignHook { return s } -// Specifies limits on the messages that a campaign can send. +// For a campaign, specifies limits on the messages that the campaign can send. +// For an application, specifies the default limits for messages that campaigns +// and journeys in the application can send. type CampaignLimits struct { _ struct{} `type:"structure"` // The maximum number of messages that a campaign can send to a single endpoint - // during a 24-hour period. The maximum value is 100. + // during a 24-hour period. For an application, this value specifies the default + // limit for the number of messages that campaigns and journeys can send to + // a single endpoint during a 24-hour period. The maximum value is 100. Daily *int64 `type:"integer"` // The maximum amount of time, in seconds, that a campaign can attempt to deliver @@ -14099,12 +14142,15 @@ type CampaignLimits struct { // is 60 seconds. MaximumDuration *int64 `type:"integer"` - // The maximum number of messages that a campaign can send each second. The - // minimum value is 50. The maximum value is 20,000. + // The maximum number of messages that a campaign can send each second. For + // an application, this value specifies the default limit for the number of + // messages that campaigns and journeys can send each second. The minimum value + // is 50. The maximum value is 20,000. MessagesPerSecond *int64 `type:"integer"` // The maximum number of messages that a campaign can send to a single endpoint - // during the course of the campaign. The maximum value is 100. + // during the course of the campaign. If a campaign recurs, this setting applies + // to all runs of the campaign. The maximum value is 100. Total *int64 `type:"integer"` } @@ -14166,8 +14212,12 @@ type CampaignResponse struct { // CreationDate is a required field CreationDate *string `type:"string" required:"true"` + // The delivery configuration settings for sending the campaign through a custom + // channel. + CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"` + // The current status of the campaign's default treatment. This value exists - // only for campaigns that have more than one treatment, to support A/B testing. + // only for campaigns that have more than one treatment. DefaultState *CampaignState `type:"structure"` // The custom description of the campaign. @@ -14178,6 +14228,7 @@ type CampaignResponse struct { HoldoutPercent *int64 `type:"integer"` // The settings for the AWS Lambda function to use as a code hook for the campaign. + // You can use this hook to customize the segment that's used by the campaign. Hook *CampaignHook `type:"structure"` // The unique identifier for the campaign. @@ -14227,11 +14278,12 @@ type CampaignResponse struct { // The message template that’s used for the campaign. TemplateConfiguration *TemplateConfiguration `type:"structure"` - // The custom description of a variation of the campaign that's used for A/B - // testing. + // The custom description of the default treatment for the campaign. TreatmentDescription *string `type:"string"` - // The custom name of a variation of the campaign that's used for A/B testing. + // The custom name of the default treatment for the campaign, if the campaign + // has multiple treatments. A treatment is a variation of a campaign that's + // used for A/B testing. TreatmentName *string `type:"string"` // The version number of the campaign. @@ -14272,6 +14324,12 @@ func (s *CampaignResponse) SetCreationDate(v string) *CampaignResponse { return s } +// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value. +func (s *CampaignResponse) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *CampaignResponse { + s.CustomDeliveryConfiguration = v + return s +} + // SetDefaultState sets the DefaultState field's value. func (s *CampaignResponse) SetDefaultState(v *CampaignState) *CampaignResponse { s.DefaultState = v @@ -14438,9 +14496,12 @@ type CampaignState struct { _ struct{} `type:"structure"` // The current status of the campaign, or the current status of a treatment - // that belongs to an A/B test campaign. If a campaign uses A/B testing, the - // campaign has a status of COMPLETED only if all campaign treatments have a - // status of COMPLETED. + // that belongs to an A/B test campaign. + // + // If a campaign uses A/B testing, the campaign has a status of COMPLETED only + // if all campaign treatments have a status of COMPLETED. If you delete the + // segment that's associated with a campaign, the campaign fails and has a status + // of DELETED. CampaignStatus *string `type:"string" enum:"CampaignStatus"` } @@ -15378,14 +15439,15 @@ type CreateRecommenderConfiguration struct { _ struct{} `type:"structure"` // A map of key-value pairs that defines 1-10 custom endpoint or user attributes, - // depending on the value for the RecommenderUserIdType property. Each of these - // attributes temporarily stores a recommended item that's retrieved from the - // recommender model and sent to an AWS Lambda function for additional processing. - // Each attribute can be used as a message variable in a message template. + // depending on the value for the RecommendationProviderIdType property. Each + // of these attributes temporarily stores a recommended item that's retrieved + // from the recommender model and sent to an AWS Lambda function for additional + // processing. Each attribute can be used as a message variable in a message + // template. // // In the map, the key is the name of a custom attribute and the value is a // custom display name for that attribute. The display name appears in the Attribute - // finder pane of the template editor on the Amazon Pinpoint console. The following + // finder of the template editor on the Amazon Pinpoint console. The following // restrictions apply to these names: // // * An attribute name must start with a letter or number and it can contain @@ -15397,12 +15459,13 @@ type CreateRecommenderConfiguration struct { // spaces, underscores (_), or hyphens (-). // // This object is required if the configuration invokes an AWS Lambda function - // (LambdaFunctionArn) to process recommendation data. Otherwise, don't include - // this object in your request. + // (RecommendationTransformerUri) to process recommendation data. Otherwise, + // don't include this object in your request. Attributes map[string]*string `type:"map"` // A custom description of the configuration for the recommender model. The - // description can contain up to 128 characters. + // description can contain up to 128 characters. The characters can be letters, + // numbers, spaces, or the following symbols: _ ; () , ‐. Description *string `type:"string"` // A custom name of the configuration for the recommender model. The name must @@ -15422,7 +15485,7 @@ type CreateRecommenderConfiguration struct { // * PINPOINT_USER_ID - Associate each user in the model with a particular // user and endpoint in Amazon Pinpoint. The data is correlated based on // user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition - // in Amazon Pinpoint has to specify a both a user ID (UserId) and an endpoint + // in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint // ID. Otherwise, messages won’t be sent to the user's endpoint. RecommendationProviderIdType *string `type:"string"` @@ -15445,26 +15508,26 @@ type CreateRecommenderConfiguration struct { RecommendationTransformerUri *string `type:"string"` // A custom display name for the standard endpoint or user attribute (RecommendationItems) - // that temporarily stores a recommended item for each endpoint or user, depending - // on the value for the RecommenderUserIdType property. This value is required - // if the configuration doesn't invoke an AWS Lambda function (LambdaFunctionArn) + // that temporarily stores recommended items for each endpoint or user, depending + // on the value for the RecommendationProviderIdType property. This value is + // required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) // to perform additional processing of recommendation data. // - // This name appears in the Attribute finder pane of the template editor on - // the Amazon Pinpoint console. The name can contain up to 25 characters. The - // characters can be letters, numbers, spaces, underscores (_), or hyphens (-). - // These restrictions don't apply to attribute values. + // This name appears in the Attribute finder of the template editor on the Amazon + // Pinpoint console. The name can contain up to 25 characters. The characters + // can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions + // don't apply to attribute values. RecommendationsDisplayName *string `type:"string"` // The number of recommended items to retrieve from the model for each endpoint - // or user, depending on the value for the RecommenderUserIdType property. This - // number determines how many recommended attributes are available for use as - // message variables in message templates. The minimum value is 1. The maximum - // value is 5. The default value is 5. + // or user, depending on the value for the RecommendationProviderIdType property. + // This number determines how many recommended items are available for use in + // message variables. The minimum value is 1. The maximum value is 5. The default + // value is 5. // // To use multiple recommended items and custom attributes with message variables, - // you have to use an AWS Lambda function (LambdaFunctionArn) to perform additional - // processing of recommendation data. + // you have to use an AWS Lambda function (RecommendationTransformerUri) to + // perform additional processing of recommendation data. RecommendationsPerMessage *int64 `type:"integer"` } @@ -15905,6 +15968,67 @@ func (s *CreateVoiceTemplateOutput) SetCreateTemplateMessageBody(v *CreateTempla return s } +// Specifies the delivery configuration settings for sending a campaign or campaign +// treatment through a custom channel. This object is required if you use the +// CampaignCustomMessage object to define the message to send for the campaign +// or campaign treatment. +type CustomDeliveryConfiguration struct { + _ struct{} `type:"structure"` + + // The destination to send the campaign or treatment to. This value can be one + // of the following: + // + // * The name or Amazon Resource Name (ARN) of an AWS Lambda function to + // invoke to handle delivery of the campaign or treatment. + // + // * The URL for a web application or service that supports HTTPS and can + // receive the message. The URL has to be a full URL, including the HTTPS + // protocol. + // + // DeliveryUri is a required field + DeliveryUri *string `type:"string" required:"true"` + + // The types of endpoints to send the campaign or treatment to. Each valid value + // maps to a type of channel that you can associate with an endpoint by using + // the ChannelType property of an endpoint. + EndpointTypes []*string `type:"list"` +} + +// String returns the string representation +func (s CustomDeliveryConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomDeliveryConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomDeliveryConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomDeliveryConfiguration"} + if s.DeliveryUri == nil { + invalidParams.Add(request.NewErrParamRequired("DeliveryUri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeliveryUri sets the DeliveryUri field's value. +func (s *CustomDeliveryConfiguration) SetDeliveryUri(v string) *CustomDeliveryConfiguration { + s.DeliveryUri = &v + return s +} + +// SetEndpointTypes sets the EndpointTypes field's value. +func (s *CustomDeliveryConfiguration) SetEndpointTypes(v []*string) *CustomDeliveryConfiguration { + s.EndpointTypes = v + return s +} + // Specifies the default message for all channels. type DefaultMessage struct { _ struct{} `type:"structure"` @@ -17765,8 +17889,8 @@ func (s *DirectMessageConfiguration) SetVoiceMessage(v *VoiceMessage) *DirectMes type EmailChannelRequest struct { _ struct{} `type:"structure"` - // The configuration set that you want to apply to email that you send through - // the channel by using the Amazon Pinpoint Email API (emailAPIreference.html). + // The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html) + // that you want to apply to messages that you send through the channel. ConfigurationSet *string `type:"string"` // Specifies whether to enable the email channel for the application. @@ -17855,8 +17979,8 @@ type EmailChannelResponse struct { // to. ApplicationId *string `type:"string"` - // The configuration set that's applied to email that's sent through the channel - // by using the Amazon Pinpoint Email API (emailAPIreference.html). + // The Amazon SES configuration set (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html) + // that's applied to messages that are sent through the channel. ConfigurationSet *string `type:"string"` // The date and time, in ISO 8601 format, when the email channel was enabled. @@ -17865,7 +17989,7 @@ type EmailChannelResponse struct { // Specifies whether the email channel is enabled for the application. Enabled *bool `type:"boolean"` - // The verified email address that you send email from when you send email through + // The verified email address that email is sent from when you send email through // the channel. FromAddress *string `type:"string"` @@ -17877,8 +18001,7 @@ type EmailChannelResponse struct { Id *string `type:"string"` // The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple - // Email Service (Amazon SES), that you use when you send email through the - // channel. + // Email Service (Amazon SES), that's used when you send email through the channel. Identity *string `type:"string"` // Specifies whether the email channel is archived. @@ -17890,7 +18013,7 @@ type EmailChannelResponse struct { // The date and time, in ISO 8601 format, when the email channel was last modified. LastModifiedDate *string `type:"string"` - // The maximum number of emails that you can send through the channel each second. + // The maximum number of emails that can be sent through the channel each second. MessagesPerSecond *int64 `type:"integer"` // The type of messaging or notification platform for the channel. For the email @@ -18466,8 +18589,8 @@ type EndpointBatchItem struct { // The unique identifier for the request to create or update the endpoint. RequestId *string `type:"string"` - // One or more custom user attributes that describe the user who's associated - // with the endpoint. + // One or more custom attributes that describe the user who's associated with + // the endpoint. User *EndpointUser `type:"structure"` } @@ -18954,8 +19077,8 @@ type EndpointRequest struct { // The unique identifier for the most recent request to update the endpoint. RequestId *string `type:"string"` - // One or more custom user attributes that describe the user who's associated - // with the endpoint. + // One or more custom attributes that describe the user who's associated with + // the endpoint. User *EndpointUser `type:"structure"` } @@ -24924,7 +25047,7 @@ type JourneyDateRangeKpiResponse struct { // that the data was retrieved for. This value describes the associated metric // and consists of two or more terms, which are comprised of lowercase alphanumeric // characters, separated by a hyphen. For a list of possible values, see the - // Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). // // KpiName is a required field KpiName *string `type:"string" required:"true"` @@ -26092,31 +26215,38 @@ type MessageConfiguration struct { _ struct{} `type:"structure"` // The message that the campaign sends through the ADM (Amazon Device Messaging) - // channel. This message overrides the default message. + // channel. If specified, this message overrides the default message. ADMMessage *Message `type:"structure"` // The message that the campaign sends through the APNs (Apple Push Notification - // service) channel. This message overrides the default message. + // service) channel. If specified, this message overrides the default message. APNSMessage *Message `type:"structure"` // The message that the campaign sends through the Baidu (Baidu Cloud Push) - // channel. This message overrides the default message. + // channel. If specified, this message overrides the default message. BaiduMessage *Message `type:"structure"` + // The message that the campaign sends through a custom channel, as specified + // by the delivery configuration (CustomDeliveryConfiguration) settings for + // the campaign. If specified, this message overrides the default message. + CustomMessage *CampaignCustomMessage `type:"structure"` + // The default message that the campaign sends through all the channels that // are configured for the campaign. DefaultMessage *Message `type:"structure"` - // The message that the campaign sends through the email channel. + // The message that the campaign sends through the email channel. If specified, + // this message overrides the default message. EmailMessage *CampaignEmailMessage `type:"structure"` // The message that the campaign sends through the GCM channel, which enables // Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging - // (FCM), formerly Google Cloud Messaging (GCM), service. This message overrides - // the default message. + // (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this + // message overrides the default message. GCMMessage *Message `type:"structure"` - // The message that the campaign sends through the SMS channel. + // The message that the campaign sends through the SMS channel. If specified, + // this message overrides the default message. SMSMessage *CampaignSmsMessage `type:"structure"` } @@ -26148,6 +26278,12 @@ func (s *MessageConfiguration) SetBaiduMessage(v *Message) *MessageConfiguration return s } +// SetCustomMessage sets the CustomMessage field's value. +func (s *MessageConfiguration) SetCustomMessage(v *CampaignCustomMessage) *MessageConfiguration { + s.CustomMessage = v + return s +} + // SetDefaultMessage sets the DefaultMessage field's value. func (s *MessageConfiguration) SetDefaultMessage(v *Message) *MessageConfiguration { s.DefaultMessage = v @@ -27800,13 +27936,14 @@ type RecommenderConfigurationResponse struct { _ struct{} `type:"structure"` // A map that defines 1-10 custom endpoint or user attributes, depending on - // the value for the RecommenderUserIdType property. Each of these attributes + // the value for the RecommendationProviderIdType property. Each of these attributes // temporarily stores a recommended item that's retrieved from the recommender // model and sent to an AWS Lambda function for additional processing. Each // attribute can be used as a message variable in a message template. // // This value is null if the configuration doesn't invoke an AWS Lambda function - // (LambdaFunctionArn) to perform additional processing of recommendation data. + // (RecommendationTransformerUri) to perform additional processing of recommendation + // data. Attributes map[string]*string `type:"map"` // The date, in extended ISO 8601 format, when the configuration was created @@ -27868,18 +28005,19 @@ type RecommenderConfigurationResponse struct { RecommendationTransformerUri *string `type:"string"` // The custom display name for the standard endpoint or user attribute (RecommendationItems) - // that temporarily stores a recommended item for each endpoint or user, depending - // on the value for the RecommenderUserIdType property. This name appears in - // the Attribute finder pane of the template editor on the Amazon Pinpoint console. + // that temporarily stores recommended items for each endpoint or user, depending + // on the value for the RecommendationProviderIdType property. This name appears + // in the Attribute finder of the template editor on the Amazon Pinpoint console. // // This value is null if the configuration doesn't invoke an AWS Lambda function - // (LambdaFunctionArn) to perform additional processing of recommendation data. + // (RecommendationTransformerUri) to perform additional processing of recommendation + // data. RecommendationsDisplayName *string `type:"string"` // The number of recommended items that are retrieved from the model for each - // endpoint or user, depending on the value for the RecommenderUserIdType property. - // This number determines how many recommended attributes are available for - // use as message variables in message templates. + // endpoint or user, depending on the value for the RecommendationProviderIdType + // property. This number determines how many recommended items are available + // for use in message variables. RecommendationsPerMessage *int64 `type:"integer"` } @@ -30845,6 +30983,11 @@ func (s *TooManyRequestsException) RequestID() string { type TreatmentResource struct { _ struct{} `type:"structure"` + // The delivery configuration settings for sending the treatment through a custom + // channel. This object is required if the MessageConfiguration object for the + // treatment specifies a CustomMessage object. + CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"` + // The unique identifier for the treatment. // // Id is a required field @@ -30871,8 +31014,7 @@ type TreatmentResource struct { // The custom description of the treatment. TreatmentDescription *string `type:"string"` - // The custom name of the treatment. A treatment is a variation of a campaign - // that's used for A/B testing of a campaign. + // The custom name of the treatment. TreatmentName *string `type:"string"` } @@ -30886,6 +31028,12 @@ func (s TreatmentResource) GoString() string { return s.String() } +// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value. +func (s *TreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *TreatmentResource { + s.CustomDeliveryConfiguration = v + return s +} + // SetId sets the Id field's value. func (s *TreatmentResource) SetId(v string) *TreatmentResource { s.Id = &v @@ -32433,14 +32581,15 @@ type UpdateRecommenderConfiguration struct { _ struct{} `type:"structure"` // A map of key-value pairs that defines 1-10 custom endpoint or user attributes, - // depending on the value for the RecommenderUserIdType property. Each of these - // attributes temporarily stores a recommended item that's retrieved from the - // recommender model and sent to an AWS Lambda function for additional processing. - // Each attribute can be used as a message variable in a message template. + // depending on the value for the RecommendationProviderIdType property. Each + // of these attributes temporarily stores a recommended item that's retrieved + // from the recommender model and sent to an AWS Lambda function for additional + // processing. Each attribute can be used as a message variable in a message + // template. // // In the map, the key is the name of a custom attribute and the value is a // custom display name for that attribute. The display name appears in the Attribute - // finder pane of the template editor on the Amazon Pinpoint console. The following + // finder of the template editor on the Amazon Pinpoint console. The following // restrictions apply to these names: // // * An attribute name must start with a letter or number and it can contain @@ -32452,12 +32601,13 @@ type UpdateRecommenderConfiguration struct { // spaces, underscores (_), or hyphens (-). // // This object is required if the configuration invokes an AWS Lambda function - // (LambdaFunctionArn) to process recommendation data. Otherwise, don't include - // this object in your request. + // (RecommendationTransformerUri) to process recommendation data. Otherwise, + // don't include this object in your request. Attributes map[string]*string `type:"map"` // A custom description of the configuration for the recommender model. The - // description can contain up to 128 characters. + // description can contain up to 128 characters. The characters can be letters, + // numbers, spaces, or the following symbols: _ ; () , ‐. Description *string `type:"string"` // A custom name of the configuration for the recommender model. The name must @@ -32477,7 +32627,7 @@ type UpdateRecommenderConfiguration struct { // * PINPOINT_USER_ID - Associate each user in the model with a particular // user and endpoint in Amazon Pinpoint. The data is correlated based on // user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition - // in Amazon Pinpoint has to specify a both a user ID (UserId) and an endpoint + // in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint // ID. Otherwise, messages won’t be sent to the user's endpoint. RecommendationProviderIdType *string `type:"string"` @@ -32500,26 +32650,26 @@ type UpdateRecommenderConfiguration struct { RecommendationTransformerUri *string `type:"string"` // A custom display name for the standard endpoint or user attribute (RecommendationItems) - // that temporarily stores a recommended item for each endpoint or user, depending - // on the value for the RecommenderUserIdType property. This value is required - // if the configuration doesn't invoke an AWS Lambda function (LambdaFunctionArn) + // that temporarily stores recommended items for each endpoint or user, depending + // on the value for the RecommendationProviderIdType property. This value is + // required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) // to perform additional processing of recommendation data. // - // This name appears in the Attribute finder pane of the template editor on - // the Amazon Pinpoint console. The name can contain up to 25 characters. The - // characters can be letters, numbers, spaces, underscores (_), or hyphens (-). - // These restrictions don't apply to attribute values. + // This name appears in the Attribute finder of the template editor on the Amazon + // Pinpoint console. The name can contain up to 25 characters. The characters + // can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions + // don't apply to attribute values. RecommendationsDisplayName *string `type:"string"` // The number of recommended items to retrieve from the model for each endpoint - // or user, depending on the value for the RecommenderUserIdType property. This - // number determines how many recommended attributes are available for use as - // message variables in message templates. The minimum value is 1. The maximum - // value is 5. The default value is 5. + // or user, depending on the value for the RecommendationProviderIdType property. + // This number determines how many recommended items are available for use in + // message variables. The minimum value is 1. The maximum value is 5. The default + // value is 5. // // To use multiple recommended items and custom attributes with message variables, - // you have to use an AWS Lambda function (LambdaFunctionArn) to perform additional - // processing of recommendation data. + // you have to use an AWS Lambda function (RecommendationTransformerUri) to + // perform additional processing of recommendation data. RecommendationsPerMessage *int64 `type:"integer"` } @@ -33743,18 +33893,20 @@ func (s *WaitTime) SetWaitUntil(v string) *WaitTime { type WriteApplicationSettingsRequest struct { _ struct{} `type:"structure"` - // The settings for the AWS Lambda function to use by default as a code hook - // for campaigns in the application. To override these settings for a specific - // campaign, use the Campaign resource to define custom Lambda function settings - // for the campaign. + // The settings for the AWS Lambda function to invoke by default as a code hook + // for campaigns in the application. You can use this hook to customize segments + // that are used by campaigns in the application. + // + // To override these settings and define custom settings for a specific campaign, + // use the CampaignHook object of the Campaign resource. CampaignHook *CampaignHook `type:"structure"` // Specifies whether to enable application-related alarms in Amazon CloudWatch. CloudWatchMetricsEnabled *bool `type:"boolean"` - // The default sending limits for campaigns in the application. To override - // these limits for a specific campaign, use the Campaign resource to define - // custom limits for the campaign. + // The default sending limits for campaigns and journeys in the application. + // To override these limits and define custom limits for a specific campaign + // or journey, use the Campaign resource or the Journey resource, respectively. Limits *CampaignLimits `type:"structure"` // The default quiet time for campaigns and journeys in the application. Quiet @@ -33823,6 +33975,11 @@ type WriteCampaignRequest struct { // in addition to the default treatment for the campaign. AdditionalTreatments []*WriteTreatmentResource `type:"list"` + // The delivery configuration settings for sending the campaign through a custom + // channel. This object is required if the MessageConfiguration object for the + // campaign specifies a CustomMessage object. + CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"` + // A custom description of the campaign. Description *string `type:"string"` @@ -33830,11 +33987,13 @@ type WriteCampaignRequest struct { // messages from the campaign. HoldoutPercent *int64 `type:"integer"` - // The settings for the AWS Lambda function to use as a code hook for the campaign. + // The settings for the AWS Lambda function to invoke as a code hook for the + // campaign. You can use this hook to customize the segment that's used by the + // campaign. Hook *CampaignHook `type:"structure"` // Specifies whether to pause the campaign. A paused campaign doesn't run unless - // you resume it by setting this value to false. + // you resume it by changing this value to false. IsPaused *bool `type:"boolean"` // The messaging limits for the campaign. @@ -33863,10 +34022,12 @@ type WriteCampaignRequest struct { // The message template to use for the campaign. TemplateConfiguration *TemplateConfiguration `type:"structure"` - // A custom description of a variation of the campaign to use for A/B testing. + // A custom description of the default treatment for the campaign. TreatmentDescription *string `type:"string"` - // A custom name for a variation of the campaign to use for A/B testing. + // A custom name of the default treatment for the campaign, if the campaign + // has multiple treatments. A treatment is a variation of a campaign that's + // used for A/B testing. TreatmentName *string `type:"string"` } @@ -33893,6 +34054,11 @@ func (s *WriteCampaignRequest) Validate() error { } } } + if s.CustomDeliveryConfiguration != nil { + if err := s.CustomDeliveryConfiguration.Validate(); err != nil { + invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Schedule != nil { if err := s.Schedule.Validate(); err != nil { invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) @@ -33911,6 +34077,12 @@ func (s *WriteCampaignRequest) SetAdditionalTreatments(v []*WriteTreatmentResour return s } +// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value. +func (s *WriteCampaignRequest) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteCampaignRequest { + s.CustomDeliveryConfiguration = v + return s +} + // SetDescription sets the Description field's value. func (s *WriteCampaignRequest) SetDescription(v string) *WriteCampaignRequest { s.Description = &v @@ -34328,6 +34500,11 @@ func (s *WriteSegmentRequest) SetTags(v map[string]*string) *WriteSegmentRequest type WriteTreatmentResource struct { _ struct{} `type:"structure"` + // The delivery configuration settings for sending the treatment through a custom + // channel. This object is required if the MessageConfiguration object for the + // treatment specifies a CustomMessage object. + CustomDeliveryConfiguration *CustomDeliveryConfiguration `type:"structure"` + // The message configuration settings for the treatment. MessageConfiguration *MessageConfiguration `type:"structure"` @@ -34346,8 +34523,7 @@ type WriteTreatmentResource struct { // A custom description of the treatment. TreatmentDescription *string `type:"string"` - // A custom name for the treatment. A treatment is a variation of a campaign - // that's used for A/B testing of a campaign. + // A custom name for the treatment. TreatmentName *string `type:"string"` } @@ -34367,6 +34543,11 @@ func (s *WriteTreatmentResource) Validate() error { if s.SizePercent == nil { invalidParams.Add(request.NewErrParamRequired("SizePercent")) } + if s.CustomDeliveryConfiguration != nil { + if err := s.CustomDeliveryConfiguration.Validate(); err != nil { + invalidParams.AddNested("CustomDeliveryConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Schedule != nil { if err := s.Schedule.Validate(); err != nil { invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) @@ -34379,6 +34560,12 @@ func (s *WriteTreatmentResource) Validate() error { return nil } +// SetCustomDeliveryConfiguration sets the CustomDeliveryConfiguration field's value. +func (s *WriteTreatmentResource) SetCustomDeliveryConfiguration(v *CustomDeliveryConfiguration) *WriteTreatmentResource { + s.CustomDeliveryConfiguration = v + return s +} + // SetMessageConfiguration sets the MessageConfiguration field's value. func (s *WriteTreatmentResource) SetMessageConfiguration(v *MessageConfiguration) *WriteTreatmentResource { s.MessageConfiguration = v @@ -34534,6 +34721,41 @@ const ( DurationDay30 = "DAY_30" ) +const ( + // EndpointTypesElementGcm is a EndpointTypesElement enum value + EndpointTypesElementGcm = "GCM" + + // EndpointTypesElementApns is a EndpointTypesElement enum value + EndpointTypesElementApns = "APNS" + + // EndpointTypesElementApnsSandbox is a EndpointTypesElement enum value + EndpointTypesElementApnsSandbox = "APNS_SANDBOX" + + // EndpointTypesElementApnsVoip is a EndpointTypesElement enum value + EndpointTypesElementApnsVoip = "APNS_VOIP" + + // EndpointTypesElementApnsVoipSandbox is a EndpointTypesElement enum value + EndpointTypesElementApnsVoipSandbox = "APNS_VOIP_SANDBOX" + + // EndpointTypesElementAdm is a EndpointTypesElement enum value + EndpointTypesElementAdm = "ADM" + + // EndpointTypesElementSms is a EndpointTypesElement enum value + EndpointTypesElementSms = "SMS" + + // EndpointTypesElementVoice is a EndpointTypesElement enum value + EndpointTypesElementVoice = "VOICE" + + // EndpointTypesElementEmail is a EndpointTypesElement enum value + EndpointTypesElementEmail = "EMAIL" + + // EndpointTypesElementBaidu is a EndpointTypesElement enum value + EndpointTypesElementBaidu = "BAIDU" + + // EndpointTypesElementCustom is a EndpointTypesElement enum value + EndpointTypesElementCustom = "CUSTOM" +) + const ( // FilterTypeSystem is a FilterType enum value FilterTypeSystem = "SYSTEM" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ram/api.go b/vendor/github.com/aws/aws-sdk-go/service/ram/api.go index 6299d9609252..88d61c3784aa 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ram/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ram/api.go @@ -1005,6 +1005,9 @@ func (c *RAM) GetResourcePoliciesRequest(input *GetResourcePoliciesInput) (req * // * InvalidParameterException // A parameter is not valid. // +// * ResourceArnNotFoundException +// An Amazon Resource Name (ARN) was not found. +// // * ServerInternalException // The service could not respond to the request due to an internal problem. // @@ -1309,6 +1312,9 @@ func (c *RAM) GetResourceShareInvitationsRequest(input *GetResourceShareInvitati // * MalformedArnException // The format of an Amazon Resource Name (ARN) is not valid. // +// * UnknownResourceException +// A specified resource was not found. +// // * InvalidNextTokenException // The specified value for NextToken is not valid. // @@ -2051,6 +2057,94 @@ func (c *RAM) ListResourceSharePermissionsWithContext(ctx aws.Context, input *Li return out, req.Send() } +const opListResourceTypes = "ListResourceTypes" + +// ListResourceTypesRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceTypes 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 ListResourceTypes for more information on using the ListResourceTypes +// 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 ListResourceTypesRequest method. +// req, resp := client.ListResourceTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResourceTypes +func (c *RAM) ListResourceTypesRequest(input *ListResourceTypesInput) (req *request.Request, output *ListResourceTypesOutput) { + op := &request.Operation{ + Name: opListResourceTypes, + HTTPMethod: "POST", + HTTPPath: "/listresourcetypes", + } + + if input == nil { + input = &ListResourceTypesInput{} + } + + output = &ListResourceTypesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResourceTypes API operation for AWS Resource Access Manager. +// +// Lists the shareable resource types supported by AWS RAM. +// +// 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 AWS Resource Access Manager's +// API operation ListResourceTypes for usage and error information. +// +// Returned Error Types: +// * InvalidNextTokenException +// The specified value for NextToken is not valid. +// +// * InvalidParameterException +// A parameter is not valid. +// +// * ServerInternalException +// The service could not respond to the request due to an internal problem. +// +// * ServiceUnavailableException +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResourceTypes +func (c *RAM) ListResourceTypes(input *ListResourceTypesInput) (*ListResourceTypesOutput, error) { + req, out := c.ListResourceTypesRequest(input) + return out, req.Send() +} + +// ListResourceTypesWithContext is the same as ListResourceTypes with the addition of +// the ability to pass a context and additional request options. +// +// See ListResourceTypes 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 *RAM) ListResourceTypesWithContext(ctx aws.Context, input *ListResourceTypesInput, opts ...request.Option) (*ListResourceTypesOutput, error) { + req, out := c.ListResourceTypesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListResources = "ListResources" // ListResourcesRequest generates a "aws/request.Request" representing the @@ -2288,6 +2382,9 @@ func (c *RAM) PromoteResourceShareCreatedFromPolicyRequest(input *PromoteResourc // * ServiceUnavailableException // The service is not available. // +// * UnknownResourceException +// A specified resource was not found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/PromoteResourceShareCreatedFromPolicy func (c *RAM) PromoteResourceShareCreatedFromPolicy(input *PromoteResourceShareCreatedFromPolicyInput) (*PromoteResourceShareCreatedFromPolicyOutput, error) { req, out := c.PromoteResourceShareCreatedFromPolicyRequest(input) @@ -4569,9 +4666,11 @@ type ListPrincipalsInput struct { // The resource type. // - // Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget - // | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster - // | route53resolver:ResolverRule I resource-groups:Group + // Valid values: codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation + // | ec2:DedicatedHost | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway + // | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe + // | license-manager:LicenseConfiguration I resource-groups:Group | rds:Cluster + // | route53resolver:ResolverRule ResourceType *string `locationName:"resourceType" type:"string"` } @@ -4769,6 +4868,85 @@ func (s *ListResourceSharePermissionsOutput) SetPermissions(v []*ResourceSharePe return s } +type ListResourceTypesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListResourceTypesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourceTypesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResourceTypesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourceTypesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResourceTypesInput) SetMaxResults(v int64) *ListResourceTypesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourceTypesInput) SetNextToken(v string) *ListResourceTypesInput { + s.NextToken = &v + return s +} + +type ListResourceTypesOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // The shareable resource types supported by AWS RAM. + ResourceTypes []*ServiceNameAndResourceType `locationName:"resourceTypes" type:"list"` +} + +// String returns the string representation +func (s ListResourceTypesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResourceTypesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResourceTypesOutput) SetNextToken(v string) *ListResourceTypesOutput { + s.NextToken = &v + return s +} + +// SetResourceTypes sets the ResourceTypes field's value. +func (s *ListResourceTypesOutput) SetResourceTypes(v []*ServiceNameAndResourceType) *ListResourceTypesOutput { + s.ResourceTypes = v + return s +} + type ListResourcesInput struct { _ struct{} `type:"structure"` @@ -4795,9 +4973,11 @@ type ListResourcesInput struct { // The resource type. // - // Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget - // | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster - // | route53resolver:ResolverRule | resource-groups:Group + // Valid values: codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation + // | ec2:DedicatedHost | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway + // | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe + // | license-manager:LicenseConfiguration I resource-groups:Group | rds:Cluster + // | route53resolver:ResolverRule ResourceType *string `locationName:"resourceType" type:"string"` } @@ -6238,6 +6418,40 @@ func (s *ServerInternalException) RequestID() string { return s.RespMetadata.RequestID } +// Information about the shareable resource types and the AWS services to which +// they belong. +type ServiceNameAndResourceType struct { + _ struct{} `type:"structure"` + + // The shareable resource types. + ResourceType *string `locationName:"resourceType" type:"string"` + + // The name of the AWS services to which the resources belong. + ServiceName *string `locationName:"serviceName" type:"string"` +} + +// String returns the string representation +func (s ServiceNameAndResourceType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceNameAndResourceType) GoString() string { + return s.String() +} + +// SetResourceType sets the ResourceType field's value. +func (s *ServiceNameAndResourceType) SetResourceType(v string) *ServiceNameAndResourceType { + s.ResourceType = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *ServiceNameAndResourceType) SetServiceName(v string) *ServiceNameAndResourceType { + s.ServiceName = &v + return s +} + // The service is not available. type ServiceUnavailableException struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go index f419536848d3..2866909945ca 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go @@ -12193,6 +12193,15 @@ func (c *RDS) RestoreDBClusterFromS3Request(input *RestoreDBClusterFromS3Input) // Data to an Amazon Aurora MySQL DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html) // in the Amazon Aurora User Guide. // +// This action only restores the DB cluster, not the DB instances for that DB +// cluster. You must invoke the CreateDBInstance action to create DB instances +// for the restored DB cluster, specifying the identifier of the restored DB +// cluster in DBClusterIdentifier. You can create DB instances only after the +// RestoreDBClusterFromS3 action has completed and the DB cluster is available. +// +// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) +// in the Amazon Aurora User Guide. +// // This action only applies to Aurora DB clusters. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12336,6 +12345,8 @@ func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSna // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) // in the Amazon Aurora User Guide. // +// This action only applies to Aurora DB clusters. +// // 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. @@ -28966,6 +28977,13 @@ func (s *DescribeOptionGroupsOutput) SetOptionGroupsList(v []*OptionGroup) *Desc type DescribeOrderableDBInstanceOptionsInput struct { _ struct{} `type:"structure"` + // The Availability Zone group associated with a Local Zone. Specify this parameter + // to retrieve available offerings for the Local Zones in the group. + // + // Omit this parameter to show the available offerings in the specified AWS + // Region. + AvailabilityZoneGroup *string `type:"string"` + // The DB instance class filter value. Specify this parameter to show only the // available offerings matching the specified DB instance class. DBInstanceClass *string `type:"string"` @@ -29037,6 +29055,12 @@ func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error { return nil } +// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value. +func (s *DescribeOrderableDBInstanceOptionsInput) SetAvailabilityZoneGroup(v string) *DescribeOrderableDBInstanceOptionsInput { + s.AvailabilityZoneGroup = &v + return s +} + // SetDBInstanceClass sets the DBInstanceClass field's value. func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput { s.DBInstanceClass = &v @@ -34785,6 +34809,9 @@ func (s *OptionVersion) SetVersion(v string) *OptionVersion { type OrderableDBInstanceOption struct { _ struct{} `type:"structure"` + // The Availability Zone group for a DB instance. + AvailabilityZoneGroup *string `type:"string"` + // A list of Availability Zones for a DB instance. AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"` @@ -34854,8 +34881,8 @@ type OrderableDBInstanceOption struct { // True if a DB instance supports Performance Insights, otherwise false. SupportsPerformanceInsights *bool `type:"boolean"` - // Whether or not Amazon RDS can automatically scale storage for DB instances - // that use the specified instance class. + // Whether Amazon RDS can automatically scale storage for DB instances that + // use the specified DB instance class. SupportsStorageAutoscaling *bool `type:"boolean"` // Indicates whether a DB instance supports encrypted storage. @@ -34875,6 +34902,12 @@ func (s OrderableDBInstanceOption) GoString() string { return s.String() } +// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value. +func (s *OrderableDBInstanceOption) SetAvailabilityZoneGroup(v string) *OrderableDBInstanceOption { + s.AvailabilityZoneGroup = &v + return s +} + // SetAvailabilityZones sets the AvailabilityZones field's value. func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption { s.AvailabilityZones = v diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go index 4ac2c2ac0876..b05c45073b4e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go @@ -523,8 +523,8 @@ func (c *StorageGateway) AssignTapePoolRequest(input *AssignTapePoolInput) (req // Assigns a tape to a tape pool for archiving. The tape assigned to a pool // is archived in the S3 storage class that is associated with the pool. When // you use your backup application to eject the tape, the tape is archived directly -// into the S3 storage class (Glacier or Deep Archive) that corresponds to the -// pool. +// into the S3 storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds +// to the pool. // // Valid values: "GLACIER", "DEEP_ARCHIVE" // @@ -972,11 +972,11 @@ func (c *StorageGateway) CreateNFSFileShareRequest(input *CreateNFSFileShareInpu // // Creates a Network File System (NFS) file share on an existing file gateway. // In Storage Gateway, a file share is a file system mount point backed by Amazon -// S3 cloud storage. Storage Gateway exposes file shares using a NFS interface. +// S3 cloud storage. Storage Gateway exposes file shares using an NFS interface. // This operation is only supported for file gateways. // // File gateway requires AWS Security Token Service (AWS STS) to be activated -// to enable you create a file share. Make sure AWS STS is activated in the +// to enable you to create a file share. Make sure AWS STS is activated in the // AWS Region you are creating your file gateway in. If AWS STS is not activated // in the AWS Region, activate it. For information about how to activate AWS // STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS @@ -1068,7 +1068,7 @@ func (c *StorageGateway) CreateSMBFileShareRequest(input *CreateSMBFileShareInpu // // Creates a Server Message Block (SMB) file share on an existing file gateway. // In Storage Gateway, a file share is a file system mount point backed by Amazon -// S3 cloud storage. Storage Gateway expose file shares using a SMB interface. +// S3 cloud storage. Storage Gateway expose file shares using an SMB interface. // This operation is only supported for file gateways. // // File gateways require AWS Security Token Service (AWS STS) to be activated @@ -1165,11 +1165,12 @@ func (c *StorageGateway) CreateSnapshotRequest(input *CreateSnapshotInput) (req // Initiates a snapshot of a volume. // // AWS Storage Gateway provides the ability to back up point-in-time snapshots -// of your data to Amazon Simple Storage (S3) for durable off-site recovery, -// as well as import the data to an Amazon Elastic Block Store (EBS) volume -// in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway -// volume on a scheduled or ad hoc basis. This API enables you to take ad-hoc -// snapshot. For more information, see Editing a Snapshot Schedule (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). +// of your data to Amazon Simple Storage Service (Amazon S3) for durable off-site +// recovery, as well as import the data to an Amazon Elastic Block Store (EBS) +// volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your +// gateway volume on a scheduled or ad hoc basis. This API enables you to take +// an ad hoc snapshot. For more information, see Editing a Snapshot Schedule +// (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). // // In the CreateSnapshot request you identify the volume by providing its Amazon // Resource Name (ARN). You must also provide description for the snapshot. @@ -1474,9 +1475,9 @@ func (c *StorageGateway) CreateTapeWithBarcodeRequest(input *CreateTapeWithBarco // CreateTapeWithBarcode API operation for AWS Storage Gateway. // // Creates a virtual tape by using your own barcode. You write data to the virtual -// tape and then archive the tape. A barcode is unique and can not be reused -// if it has already been used on a tape . This applies to barcodes used on -// deleted tapes. This operation is only supported in the tape gateway type. +// tape and then archive the tape. A barcode is unique and cannot be reused +// if it has already been used on a tape. This applies to barcodes used on deleted +// tapes. This operation is only supported in the tape gateway type. // // Cache storage must be allocated to the gateway before you can create a virtual // tape. Use the AddCache operation to add cache storage to a gateway. @@ -1608,6 +1609,92 @@ func (c *StorageGateway) CreateTapesWithContext(ctx aws.Context, input *CreateTa return out, req.Send() } +const opDeleteAutomaticTapeCreationPolicy = "DeleteAutomaticTapeCreationPolicy" + +// DeleteAutomaticTapeCreationPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAutomaticTapeCreationPolicy 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 DeleteAutomaticTapeCreationPolicy for more information on using the DeleteAutomaticTapeCreationPolicy +// 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 DeleteAutomaticTapeCreationPolicyRequest method. +// req, resp := client.DeleteAutomaticTapeCreationPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteAutomaticTapeCreationPolicy +func (c *StorageGateway) DeleteAutomaticTapeCreationPolicyRequest(input *DeleteAutomaticTapeCreationPolicyInput) (req *request.Request, output *DeleteAutomaticTapeCreationPolicyOutput) { + op := &request.Operation{ + Name: opDeleteAutomaticTapeCreationPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAutomaticTapeCreationPolicyInput{} + } + + output = &DeleteAutomaticTapeCreationPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteAutomaticTapeCreationPolicy API operation for AWS Storage Gateway. +// +// Deletes the automatic tape creation policy of a gateway. If you delete this +// policy, new virtual tapes must be created manually. Use the Amazon Resource +// Name (ARN) of the gateway in your request to remove the 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 AWS Storage Gateway's +// API operation DeleteAutomaticTapeCreationPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidGatewayRequestException +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * InternalServerError +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteAutomaticTapeCreationPolicy +func (c *StorageGateway) DeleteAutomaticTapeCreationPolicy(input *DeleteAutomaticTapeCreationPolicyInput) (*DeleteAutomaticTapeCreationPolicyOutput, error) { + req, out := c.DeleteAutomaticTapeCreationPolicyRequest(input) + return out, req.Send() +} + +// DeleteAutomaticTapeCreationPolicyWithContext is the same as DeleteAutomaticTapeCreationPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAutomaticTapeCreationPolicy 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 *StorageGateway) DeleteAutomaticTapeCreationPolicyWithContext(ctx aws.Context, input *DeleteAutomaticTapeCreationPolicyInput, opts ...request.Option) (*DeleteAutomaticTapeCreationPolicyOutput, error) { + req, out := c.DeleteAutomaticTapeCreationPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteBandwidthRateLimit = "DeleteBandwidthRateLimit" // DeleteBandwidthRateLimitRequest generates a "aws/request.Request" representing the @@ -2020,8 +2107,9 @@ func (c *StorageGateway) DeleteSnapshotScheduleRequest(input *DeleteSnapshotSche // its Amazon Resource Name (ARN). This operation is only supported in stored // and cached volume gateway types. // -// To list or delete a snapshot, you must use the Amazon EC2 API. in Amazon -// Elastic Compute Cloud API Reference. +// To list or delete a snapshot, you must use the Amazon EC2 API. For more information, +// go to DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSnapshots.html) +// in the Amazon Elastic Compute Cloud API Reference. // // 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 @@ -2551,7 +2639,7 @@ func (c *StorageGateway) DescribeCacheRequest(input *DescribeCacheInput) (req *r // DescribeCache API operation for AWS Storage Gateway. // // Returns information about the cache of a gateway. This operation is only -// supported in the cached volume, tape and file gateway types. +// supported in the cached volume, tape, and file gateway types. // // The response includes disk IDs that are configured as cache, and it includes // the amount of cache allocated and used. @@ -2642,7 +2730,7 @@ func (c *StorageGateway) DescribeCachediSCSIVolumesRequest(input *DescribeCached // operation is only supported in the cached volume gateway types. // // The list of gateway volumes in the request must be from one gateway. In the -// response Amazon Storage Gateway returns volume information sorted by volume +// response, AWS Storage Gateway returns volume information sorted by volume // Amazon Resource Name (ARN). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3329,7 +3417,7 @@ func (c *StorageGateway) DescribeStorediSCSIVolumesRequest(input *DescribeStored // // Returns the description of the gateway volumes specified in the request. // The list of gateway volumes in the request must be from one gateway. In the -// response Amazon Storage Gateway returns volume information sorted by volume +// response AWS Storage Gateway returns volume information sorted by volume // ARNs. This operation is only supported in stored volume gateway type. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4274,7 +4362,7 @@ func (c *StorageGateway) DisableGatewayRequest(input *DisableGatewayInput) (req // Use this operation for a tape gateway that is not reachable or not functioning. // This operation is only supported in the tape gateway type. // -// Once a gateway is disabled it cannot be enabled. +// After a gateway is disabled, it cannot be enabled. // // 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 @@ -4399,6 +4487,93 @@ func (c *StorageGateway) JoinDomainWithContext(ctx aws.Context, input *JoinDomai return out, req.Send() } +const opListAutomaticTapeCreationPolicies = "ListAutomaticTapeCreationPolicies" + +// ListAutomaticTapeCreationPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListAutomaticTapeCreationPolicies 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 ListAutomaticTapeCreationPolicies for more information on using the ListAutomaticTapeCreationPolicies +// 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 ListAutomaticTapeCreationPoliciesRequest method. +// req, resp := client.ListAutomaticTapeCreationPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListAutomaticTapeCreationPolicies +func (c *StorageGateway) ListAutomaticTapeCreationPoliciesRequest(input *ListAutomaticTapeCreationPoliciesInput) (req *request.Request, output *ListAutomaticTapeCreationPoliciesOutput) { + op := &request.Operation{ + Name: opListAutomaticTapeCreationPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAutomaticTapeCreationPoliciesInput{} + } + + output = &ListAutomaticTapeCreationPoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAutomaticTapeCreationPolicies API operation for AWS Storage Gateway. +// +// Lists the automatic tape creation policies for a gateway. If there are no +// automatic tape creation policies for the gateway, it returns an empty list. +// +// This operation is only supported for tape gateways. +// +// 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 AWS Storage Gateway's +// API operation ListAutomaticTapeCreationPolicies for usage and error information. +// +// Returned Error Types: +// * InvalidGatewayRequestException +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * InternalServerError +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListAutomaticTapeCreationPolicies +func (c *StorageGateway) ListAutomaticTapeCreationPolicies(input *ListAutomaticTapeCreationPoliciesInput) (*ListAutomaticTapeCreationPoliciesOutput, error) { + req, out := c.ListAutomaticTapeCreationPoliciesRequest(input) + return out, req.Send() +} + +// ListAutomaticTapeCreationPoliciesWithContext is the same as ListAutomaticTapeCreationPolicies with the addition of +// the ability to pass a context and additional request options. +// +// See ListAutomaticTapeCreationPolicies 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 *StorageGateway) ListAutomaticTapeCreationPoliciesWithContext(ctx aws.Context, input *ListAutomaticTapeCreationPoliciesInput, opts ...request.Option) (*ListAutomaticTapeCreationPoliciesOutput, error) { + req, out := c.ListAutomaticTapeCreationPoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListFileShares = "ListFileShares" // ListFileSharesRequest generates a "aws/request.Request" representing the @@ -5746,12 +5921,12 @@ func (c *StorageGateway) ResetCacheRequest(input *ResetCacheInput) (req *request // ResetCache API operation for AWS Storage Gateway. // -// Resets all cache disks that have encountered a error and makes the disks +// Resets all cache disks that have encountered an error and makes the disks // available for reconfiguration as cache storage. If your cache disk encounters -// a error, the gateway prevents read and write operations on virtual tapes +// an error, the gateway prevents read and write operations on virtual tapes // in the gateway. For example, an error can occur when a disk is corrupted // or removed from the gateway. When a cache is reset, the gateway loses its -// cache storage. At this point you can reconfigure the disks as cache disks. +// cache storage. At this point, you can reconfigure the disks as cache disks. // This operation is only supported in the cached volume and tape types. // // If the cache disk you are resetting contains data that has not been uploaded @@ -6209,7 +6384,7 @@ func (c *StorageGateway) ShutdownGatewayRequest(input *ShutdownGatewayInput) (re // the gateway component in the VM to avoid unpredictable conditions. // // After the gateway is shutdown, you cannot call any other API except StartGateway, -// DescribeGatewayInformation, and ListGateways. For more information, see ActivateGateway. +// DescribeGatewayInformation and ListGateways. For more information, see ActivateGateway. // Your applications cannot read from or write to the gateway's storage volumes, // and there are no snapshots taken. // @@ -6444,6 +6619,96 @@ func (c *StorageGateway) StartGatewayWithContext(ctx aws.Context, input *StartGa return out, req.Send() } +const opUpdateAutomaticTapeCreationPolicy = "UpdateAutomaticTapeCreationPolicy" + +// UpdateAutomaticTapeCreationPolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAutomaticTapeCreationPolicy 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 UpdateAutomaticTapeCreationPolicy for more information on using the UpdateAutomaticTapeCreationPolicy +// 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 UpdateAutomaticTapeCreationPolicyRequest method. +// req, resp := client.UpdateAutomaticTapeCreationPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateAutomaticTapeCreationPolicy +func (c *StorageGateway) UpdateAutomaticTapeCreationPolicyRequest(input *UpdateAutomaticTapeCreationPolicyInput) (req *request.Request, output *UpdateAutomaticTapeCreationPolicyOutput) { + op := &request.Operation{ + Name: opUpdateAutomaticTapeCreationPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAutomaticTapeCreationPolicyInput{} + } + + output = &UpdateAutomaticTapeCreationPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAutomaticTapeCreationPolicy API operation for AWS Storage Gateway. +// +// Updates the automatic tape creation policy of a gateway. Use this to update +// the policy with a new set of automatic tape creation rules. This is only +// supported for tape gateways. +// +// By default, there is no automatic tape creation policy. +// +// A gateway can have only one automatic tape creation 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 AWS Storage Gateway's +// API operation UpdateAutomaticTapeCreationPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidGatewayRequestException +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * InternalServerError +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateAutomaticTapeCreationPolicy +func (c *StorageGateway) UpdateAutomaticTapeCreationPolicy(input *UpdateAutomaticTapeCreationPolicyInput) (*UpdateAutomaticTapeCreationPolicyOutput, error) { + req, out := c.UpdateAutomaticTapeCreationPolicyRequest(input) + return out, req.Send() +} + +// UpdateAutomaticTapeCreationPolicyWithContext is the same as UpdateAutomaticTapeCreationPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAutomaticTapeCreationPolicy 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 *StorageGateway) UpdateAutomaticTapeCreationPolicyWithContext(ctx aws.Context, input *UpdateAutomaticTapeCreationPolicyInput, opts ...request.Option) (*UpdateAutomaticTapeCreationPolicyOutput, error) { + req, out := c.UpdateAutomaticTapeCreationPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateBandwidthRateLimit = "UpdateBandwidthRateLimit" // UpdateBandwidthRateLimitRequest generates a "aws/request.Request" representing the @@ -7606,7 +7871,7 @@ type AddCacheInput struct { _ struct{} `type:"structure"` // An array of strings that identify disks that are to be configured as working - // storage. Each string have a minimum length of 1 and maximum length of 300. + // storage. Each string has a minimum length of 1 and maximum length of 300. // You can get the disk IDs from the ListLocalDisks API. // // DiskIds is a required field @@ -7784,7 +8049,7 @@ type AddUploadBufferInput struct { _ struct{} `type:"structure"` // An array of strings that identify disks that are to be configured as working - // storage. Each string have a minimum length of 1 and maximum length of 300. + // storage. Each string has a minimum length of 1 and maximum length of 300. // You can get the disk IDs from the ListLocalDisks API. // // DiskIds is a required field @@ -7869,7 +8134,7 @@ type AddWorkingStorageInput struct { _ struct{} `type:"structure"` // An array of strings that identify disks that are to be configured as working - // storage. Each string have a minimum length of 1 and maximum length of 300. + // storage. Each string has a minimum length of 1 and maximum length of 300. // You can get the disk IDs from the ListLocalDisks API. // // DiskIds is a required field @@ -7923,8 +8188,8 @@ func (s *AddWorkingStorageInput) SetGatewayARN(v string) *AddWorkingStorageInput return s } -// A JSON object containing the of the gateway for which working storage was -// configured. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway for +// which working storage was configured. type AddWorkingStorageOutput struct { _ struct{} `type:"structure"` @@ -7955,8 +8220,8 @@ type AssignTapePoolInput struct { // The ID of the pool that you want to add your tape to for archiving. The tape // in this pool is archived in the S3 storage class that is associated with // the pool. When you use your backup application to eject the tape, the tape - // is archived directly into the storage class (Glacier or Deep Archive) that - // corresponds to the pool. + // is archived directly into the storage class (S3 Glacier or S3 Glacier Deep + // Archive) that corresponds to the pool. // // Valid values: "GLACIER", "DEEP_ARCHIVE" // @@ -8182,6 +8447,147 @@ func (s *AttachVolumeOutput) SetVolumeARN(v string) *AttachVolumeOutput { return s } +// Information about the gateway's automatic tape creation policies, including +// the automatic tape creation rules and the gateway that is using the policies. +type AutomaticTapeCreationPolicyInfo struct { + _ struct{} `type:"structure"` + + // An automatic tape creation policy consists of a list of automatic tape creation + // rules. This returns the rules that determine when and how to automatically + // create new tapes. + AutomaticTapeCreationRules []*AutomaticTapeCreationRule `min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + GatewayARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s AutomaticTapeCreationPolicyInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutomaticTapeCreationPolicyInfo) GoString() string { + return s.String() +} + +// SetAutomaticTapeCreationRules sets the AutomaticTapeCreationRules field's value. +func (s *AutomaticTapeCreationPolicyInfo) SetAutomaticTapeCreationRules(v []*AutomaticTapeCreationRule) *AutomaticTapeCreationPolicyInfo { + s.AutomaticTapeCreationRules = v + return s +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *AutomaticTapeCreationPolicyInfo) SetGatewayARN(v string) *AutomaticTapeCreationPolicyInfo { + s.GatewayARN = &v + return s +} + +// An automatic tape creation policy consists of automatic tape creation rules +// where each rule defines when and how to create new tapes. +type AutomaticTapeCreationRule struct { + _ struct{} `type:"structure"` + + // The minimum number of available virtual tapes that the gateway maintains + // at all times. If the number of tapes on the gateway goes below this value, + // the gateway creates as many new tapes as are needed to have MinimumNumTapes + // on the gateway. + // + // MinimumNumTapes is a required field + MinimumNumTapes *int64 `min:"1" type:"integer" required:"true"` + + // The ID of the pool that you want to add your tape to for archiving. The tape + // in this pool is archived in the Amazon S3 storage class that is associated + // with the pool. When you use your backup application to eject the tape, the + // tape is archived directly into the storage class (S3 Glacier or S3 Glacier + // Deep Archive) that corresponds to the pool. + // + // Valid values: "GLACIER", "DEEP_ARCHIVE" + // + // PoolId is a required field + PoolId *string `min:"1" type:"string" required:"true"` + + // A prefix that you append to the barcode of the virtual tape that you are + // creating. This prefix makes the barcode unique. + // + // The prefix must be 1-4 characters in length and must be one of the uppercase + // letters from A to Z. + // + // TapeBarcodePrefix is a required field + TapeBarcodePrefix *string `min:"1" type:"string" required:"true"` + + // The size, in bytes, of the virtual tape capacity. + // + // TapeSizeInBytes is a required field + TapeSizeInBytes *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s AutomaticTapeCreationRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutomaticTapeCreationRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AutomaticTapeCreationRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AutomaticTapeCreationRule"} + if s.MinimumNumTapes == nil { + invalidParams.Add(request.NewErrParamRequired("MinimumNumTapes")) + } + if s.MinimumNumTapes != nil && *s.MinimumNumTapes < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinimumNumTapes", 1)) + } + if s.PoolId == nil { + invalidParams.Add(request.NewErrParamRequired("PoolId")) + } + if s.PoolId != nil && len(*s.PoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PoolId", 1)) + } + if s.TapeBarcodePrefix == nil { + invalidParams.Add(request.NewErrParamRequired("TapeBarcodePrefix")) + } + if s.TapeBarcodePrefix != nil && len(*s.TapeBarcodePrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TapeBarcodePrefix", 1)) + } + if s.TapeSizeInBytes == nil { + invalidParams.Add(request.NewErrParamRequired("TapeSizeInBytes")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMinimumNumTapes sets the MinimumNumTapes field's value. +func (s *AutomaticTapeCreationRule) SetMinimumNumTapes(v int64) *AutomaticTapeCreationRule { + s.MinimumNumTapes = &v + return s +} + +// SetPoolId sets the PoolId field's value. +func (s *AutomaticTapeCreationRule) SetPoolId(v string) *AutomaticTapeCreationRule { + s.PoolId = &v + return s +} + +// SetTapeBarcodePrefix sets the TapeBarcodePrefix field's value. +func (s *AutomaticTapeCreationRule) SetTapeBarcodePrefix(v string) *AutomaticTapeCreationRule { + s.TapeBarcodePrefix = &v + return s +} + +// SetTapeSizeInBytes sets the TapeSizeInBytes field's value. +func (s *AutomaticTapeCreationRule) SetTapeSizeInBytes(v int64) *AutomaticTapeCreationRule { + s.TapeSizeInBytes = &v + return s +} + // Describes an iSCSI cached volume. type CachediSCSIVolume struct { _ struct{} `type:"structure"` @@ -8190,8 +8596,8 @@ type CachediSCSIVolume struct { // don’t have this time stamp. CreatedDate *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // If the cached volume was created from a snapshot, this field contains the @@ -8580,12 +8986,12 @@ type CreateCachediSCSIVolumeInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // True to use Amazon S3 server side encryption with your own AWS KMS key, or + // True to use Amazon S3 server-side encryption with your own AWS KMS key, or // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The network interface of the gateway on which to expose the iSCSI target. @@ -8819,11 +9225,11 @@ type CreateNFSFileShareInput struct { // and otherwise to false. The default value is true. GuessMIMETypeEnabled *bool `type:"boolean"` - // True to use Amazon S3 server side encryption with your own AWS KMS key, or + // True to use Amazon S3 server-side encryption with your own AWS KMS key, or // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) AWS KMS key used for Amazon S3 server side + // The Amazon Resource Name (ARN) AWS KMS key used for Amazon S3 server-side // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` @@ -9106,15 +9512,15 @@ type CreateSMBFileShareInput struct { // A list of users or groups in the Active Directory that are not allowed to // access the file share. A group must be prefixed with the @ character. For - // example @group1. Can only be set if Authentication is set to ActiveDirectory. + // example, @group1. Can only be set if Authentication is set to ActiveDirectory. InvalidUserList []*string `type:"list"` - // True to use Amazon S3 server side encryption with your own AWS KMS key, or + // True to use Amazon S3 server-side encryption with your own AWS KMS key, or // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The ARN of the backed storage used for storing file data. @@ -9645,11 +10051,11 @@ type CreateStorediSCSIVolumeInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // True to use Amazon S3 server side encryption with your own AWS KMS key, or + // True to use Amazon S3 server-side encryption with your own AWS KMS key, or // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 server side + // The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 server-side // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` @@ -9863,19 +10269,19 @@ type CreateTapeWithBarcodeInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // True to use Amazon S3 server side encryption with your own AWS KMS key, or + // True to use Amazon S3 server-side encryption with your own AWS KMS key, or // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS Key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The ID of the pool that you want to add your tape to for archiving. The tape // in this pool is archived in the S3 storage class that is associated with // the pool. When you use your backup application to eject the tape, the tape - // is archived directly into the storage class (Glacier or Deep Archive) that - // corresponds to the pool. + // is archived directly into the storage class (S3 Glacier or S3 Glacier Deep + // Archive) that corresponds to the pool. // // Valid values: "GLACIER", "DEEP_ARCHIVE" PoolId *string `min:"1" type:"string"` @@ -9899,7 +10305,7 @@ type CreateTapeWithBarcodeInput struct { // The size, in bytes, of the virtual tape that you want to create. // - // The size must be aligned by gigabyte (1024*1024*1024 byte). + // The size must be aligned by gigabyte (1024*1024*1024 bytes). // // TapeSizeInBytes is a required field TapeSizeInBytes *int64 `type:"long" required:"true"` @@ -10042,12 +10448,12 @@ type CreateTapesInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // True to use Amazon S3 server side encryption with your own AWS KMS key, or + // True to use Amazon S3 server-side encryption with your own AWS KMS key, or // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The number of virtual tapes that you want to create. @@ -10058,8 +10464,8 @@ type CreateTapesInput struct { // The ID of the pool that you want to add your tape to for archiving. The tape // in this pool is archived in the S3 storage class that is associated with // the pool. When you use your backup application to eject the tape, the tape - // is archived directly into the storage class (Glacier or Deep Archive) that - // corresponds to the pool. + // is archived directly into the storage class (S3 Glacier or S3 Glacier Deep + // Archive) that corresponds to the pool. // // Valid values: "GLACIER", "DEEP_ARCHIVE" PoolId *string `min:"1" type:"string"` @@ -10084,7 +10490,7 @@ type CreateTapesInput struct { // The size, in bytes, of the virtual tapes that you want to create. // - // The size must be aligned by gigabyte (1024*1024*1024 byte). + // The size must be aligned by gigabyte (1024*1024*1024 bytes). // // TapeSizeInBytes is a required field TapeSizeInBytes *int64 `type:"long" required:"true"` @@ -10232,6 +10638,72 @@ func (s *CreateTapesOutput) SetTapeARNs(v []*string) *CreateTapesOutput { return s } +type DeleteAutomaticTapeCreationPolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + // + // GatewayARN is a required field + GatewayARN *string `min:"50" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAutomaticTapeCreationPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAutomaticTapeCreationPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAutomaticTapeCreationPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAutomaticTapeCreationPolicyInput"} + if s.GatewayARN == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayARN")) + } + if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *DeleteAutomaticTapeCreationPolicyInput) SetGatewayARN(v string) *DeleteAutomaticTapeCreationPolicyInput { + s.GatewayARN = &v + return s +} + +type DeleteAutomaticTapeCreationPolicyOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + GatewayARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s DeleteAutomaticTapeCreationPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAutomaticTapeCreationPolicyOutput) GoString() string { + return s.String() +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *DeleteAutomaticTapeCreationPolicyOutput) SetGatewayARN(v string) *DeleteAutomaticTapeCreationPolicyOutput { + s.GatewayARN = &v + return s +} + // A JSON object containing the following fields: // // * DeleteBandwidthRateLimitInput$BandwidthType @@ -10297,8 +10769,8 @@ func (s *DeleteBandwidthRateLimitInput) SetGatewayARN(v string) *DeleteBandwidth return s } -// A JSON object containing the of the gateway whose bandwidth rate information -// was deleted. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway whose +// bandwidth rate information was deleted. type DeleteBandwidthRateLimitOutput struct { _ struct{} `type:"structure"` @@ -10826,7 +11298,8 @@ func (s *DeleteVolumeInput) SetVolumeARN(v string) *DeleteVolumeInput { return s } -// A JSON object containing the of the storage volume that was deleted +// A JSON object containing the Amazon Resource Name (ARN) of the storage volume +// that was deleted type DeleteVolumeOutput struct { _ struct{} `type:"structure"` @@ -10937,7 +11410,7 @@ func (s *DescribeAvailabilityMonitorTestOutput) SetStatus(v string) *DescribeAva return s } -// A JSON object containing the of the gateway. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway. type DescribeBandwidthRateLimitInput struct { _ struct{} `type:"structure"` @@ -11070,7 +11543,7 @@ func (s *DescribeCacheInput) SetGatewayARN(v string) *DescribeCacheInput { type DescribeCacheOutput struct { _ struct{} `type:"structure"` - // The amount of cache in bytes allocated to the a gateway. + // The amount of cache in bytes allocated to a gateway. CacheAllocatedInBytes *int64 `type:"long"` // The file share's contribution to the overall percentage of the gateway's @@ -11092,7 +11565,7 @@ type DescribeCacheOutput struct { CacheUsedPercentage *float64 `type:"double"` // An array of strings that identify disks that are to be configured as working - // storage. Each string have a minimum length of 1 and maximum length of 300. + // storage. Each string has a minimum length of 1 and maximum length of 300. // You can get the disk IDs from the ListLocalDisks API. DiskIds []*string `type:"list"` @@ -11157,8 +11630,8 @@ type DescribeCachediSCSIVolumesInput struct { _ struct{} `type:"structure"` // An array of strings where each string represents the Amazon Resource Name - // (ARN) of a cached volume. All of the specified cached volumes must from the - // same gateway. Use ListVolumes to get volume ARNs for a gateway. + // (ARN) of a cached volume. All of the specified cached volumes must be from + // the same gateway. Use ListVolumes to get volume ARNs for a gateway. // // VolumeARNs is a required field VolumeARNs []*string `type:"list" required:"true"` @@ -11505,7 +11978,7 @@ func (s *DescribeGatewayInformationOutput) SetVPCEndpoint(v string) *DescribeGat return s } -// A JSON object containing the of the gateway. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway. type DescribeMaintenanceStartTimeInput struct { _ struct{} `type:"structure"` @@ -12029,8 +12502,8 @@ type DescribeStorediSCSIVolumesInput struct { _ struct{} `type:"structure"` // An array of strings where each string represents the Amazon Resource Name - // (ARN) of a stored volume. All of the specified stored volumes must from the - // same gateway. Use ListVolumes to get volume ARNs for a gateway. + // (ARN) of a stored volume. All of the specified stored volumes must be from + // the same gateway. Use ListVolumes to get volume ARNs for a gateway. // // VolumeARNs is a required field VolumeARNs []*string `type:"list" required:"true"` @@ -12138,7 +12611,7 @@ func (s *DescribeStorediSCSIVolumesOutput) SetStorediSCSIVolumes(v []*StorediSCS type DescribeTapeArchivesInput struct { _ struct{} `type:"structure"` - // Specifies that the number of virtual tapes descried be limited to the specified + // Specifies that the number of virtual tapes described be limited to the specified // number. Limit *int64 `min:"1" type:"integer"` @@ -12667,7 +13140,7 @@ type DescribeVTLDevicesOutput struct { // to describe, this field does not appear in the response. Marker *string `min:"1" type:"string"` - // An array of VTL device objects composed of the Amazon Resource Name(ARN) + // An array of VTL device objects composed of the Amazon Resource Name (ARN) // of the VTL devices. VTLDevices []*VTLDevice `type:"list"` } @@ -12700,7 +13173,7 @@ func (s *DescribeVTLDevicesOutput) SetVTLDevices(v []*VTLDevice) *DescribeVTLDev return s } -// A JSON object containing the of the gateway. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway. type DescribeWorkingStorageInput struct { _ struct{} `type:"structure"` @@ -13087,9 +13560,9 @@ func (s *Disk) SetDiskStatus(v string) *Disk { return s } -// Provides additional information about an error that was returned by the service -// as an or. See the errorCode and errorDetails members for more information -// about the error. +// Provides additional information about an error that was returned by the service. +// See the errorCode and errorDetails members for more information about the +// error. type Error struct { _ struct{} `type:"structure"` @@ -13574,11 +14047,73 @@ func (s *JoinDomainOutput) SetGatewayARN(v string) *JoinDomainOutput { return s } +type ListAutomaticTapeCreationPoliciesInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + GatewayARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s ListAutomaticTapeCreationPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAutomaticTapeCreationPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAutomaticTapeCreationPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAutomaticTapeCreationPoliciesInput"} + if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *ListAutomaticTapeCreationPoliciesInput) SetGatewayARN(v string) *ListAutomaticTapeCreationPoliciesInput { + s.GatewayARN = &v + return s +} + +type ListAutomaticTapeCreationPoliciesOutput struct { + _ struct{} `type:"structure"` + + // Gets a listing of information about the gateway's automatic tape creation + // policies, including the automatic tape creation rules and the gateway that + // is using the policies. + AutomaticTapeCreationPolicyInfos []*AutomaticTapeCreationPolicyInfo `type:"list"` +} + +// String returns the string representation +func (s ListAutomaticTapeCreationPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAutomaticTapeCreationPoliciesOutput) GoString() string { + return s.String() +} + +// SetAutomaticTapeCreationPolicyInfos sets the AutomaticTapeCreationPolicyInfos field's value. +func (s *ListAutomaticTapeCreationPoliciesOutput) SetAutomaticTapeCreationPolicyInfos(v []*AutomaticTapeCreationPolicyInfo) *ListAutomaticTapeCreationPoliciesOutput { + s.AutomaticTapeCreationPolicyInfos = v + return s +} + // ListFileShareInput type ListFileSharesInput struct { _ struct{} `type:"structure"` - // The Amazon resource Name (ARN) of the gateway whose file shares you want + // The Amazon Resource Name (ARN) of the gateway whose file shares you want // to list. If this field is not present, all file shares under your account // are listed. GatewayARN *string `min:"50" type:"string"` @@ -13773,7 +14308,7 @@ func (s *ListGatewaysOutput) SetMarker(v string) *ListGatewaysOutput { return s } -// A JSON object containing the of the gateway. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway. type ListLocalDisksInput struct { _ struct{} `type:"structure"` @@ -14045,9 +14580,9 @@ type ListTapesOutput struct { // in the response body. Marker *string `min:"1" type:"string"` - // An array of TapeInfo objects, where each object describes an a single tape. - // If there not tapes in the tape library or VTS, then the TapeInfos is an empty - // array. + // An array of TapeInfo objects, where each object describes a single tape. + // If there are no tapes in the tape library or VTS, then the TapeInfos is an + // empty array. TapeInfos []*TapeInfo `type:"list"` } @@ -14447,12 +14982,12 @@ type NFSFileShareInfo struct { // and otherwise to false. The default value is true. GuessMIMETypeEnabled *bool `type:"boolean"` - // True to use Amazon S3 server side encryption with your own AWS KMS key, or + // True to use Amazon S3 server-side encryption with your own AWS KMS key, or // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The ARN of the backend storage used for storing file data. @@ -14860,7 +15395,7 @@ type RemoveTagsFromResourceInput struct { ResourceARN *string `min:"50" type:"string" required:"true"` // The keys of the tags you want to remove from the specified resource. A tag - // is composed of a key/value pair. + // is composed of a key-value pair. // // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` @@ -15225,8 +15760,8 @@ type SMBFileShareInfo struct { // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The ARN of the backend storage used for storing file data. @@ -15642,7 +16177,8 @@ func (s *SetSMBGuestPasswordOutput) SetGatewayARN(v string) *SetSMBGuestPassword return s } -// A JSON object containing the of the gateway to shut down. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway to +// shut down. type ShutdownGatewayInput struct { _ struct{} `type:"structure"` @@ -15685,7 +16221,8 @@ func (s *ShutdownGatewayInput) SetGatewayARN(v string) *ShutdownGatewayInput { return s } -// A JSON object containing the of the gateway that was shut down. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway that +// was shut down. type ShutdownGatewayOutput struct { _ struct{} `type:"structure"` @@ -15776,7 +16313,8 @@ func (s *StartAvailabilityMonitorTestOutput) SetGatewayARN(v string) *StartAvail return s } -// A JSON object containing the of the gateway to start. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway to +// start. type StartGatewayInput struct { _ struct{} `type:"structure"` @@ -15819,7 +16357,8 @@ func (s *StartGatewayInput) SetGatewayARN(v string) *StartGatewayInput { return s } -// A JSON object containing the of the gateway that was restarted. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway that +// was restarted. type StartGatewayOutput struct { _ struct{} `type:"structure"` @@ -15852,8 +16391,8 @@ type StorediSCSIVolume struct { // don’t have this time stamp. CreatedDate *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // Indicates if when the stored volume was created, existing data on the underlying @@ -16082,15 +16621,15 @@ func (s *Tag) SetValue(v string) *Tag { type Tape struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The ID of the pool that contains tapes that will be archived. The tapes in // this pool are archived in the S3 storage class that is associated with the // pool. When you use your backup application to eject the tape, the tape is - // archived directly into the storage class (Glacier or Deep Archive) that corresponds - // to the pool. + // archived directly into the storage class (S3 Glacier or S# Glacier Deep Archive) + // that corresponds to the pool. // // Valid values: "GLACIER", "DEEP_ARCHIVE" PoolId *string `min:"1" type:"string"` @@ -16206,8 +16745,8 @@ type TapeArchive struct { // format. CompletionTime *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The ID of the pool that was used to archive the tape. The tapes in this pool @@ -16324,8 +16863,8 @@ type TapeInfo struct { // The ID of the pool that you want to add your tape to for archiving. The tape // in this pool is archived in the S3 storage class that is associated with // the pool. When you use your backup application to eject the tape, the tape - // is archived directly into the storage class (Glacier or Deep Archive) that - // corresponds to the pool. + // is archived directly into the storage class (S3 Glacier or S3 Glacier Deep + // Archive) that corresponds to the pool. // // Valid values: "GLACIER", "DEEP_ARCHIVE" PoolId *string `min:"1" type:"string"` @@ -16444,6 +16983,100 @@ func (s *TapeRecoveryPointInfo) SetTapeStatus(v string) *TapeRecoveryPointInfo { return s } +type UpdateAutomaticTapeCreationPolicyInput struct { + _ struct{} `type:"structure"` + + // An automatic tape creation policy consists of a list of automatic tape creation + // rules. The rules determine when and how to automatically create new tapes. + // + // AutomaticTapeCreationRules is a required field + AutomaticTapeCreationRules []*AutomaticTapeCreationRule `min:"1" type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + // + // GatewayARN is a required field + GatewayARN *string `min:"50" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateAutomaticTapeCreationPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAutomaticTapeCreationPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAutomaticTapeCreationPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAutomaticTapeCreationPolicyInput"} + if s.AutomaticTapeCreationRules == nil { + invalidParams.Add(request.NewErrParamRequired("AutomaticTapeCreationRules")) + } + if s.AutomaticTapeCreationRules != nil && len(s.AutomaticTapeCreationRules) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutomaticTapeCreationRules", 1)) + } + if s.GatewayARN == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayARN")) + } + if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) + } + if s.AutomaticTapeCreationRules != nil { + for i, v := range s.AutomaticTapeCreationRules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AutomaticTapeCreationRules", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomaticTapeCreationRules sets the AutomaticTapeCreationRules field's value. +func (s *UpdateAutomaticTapeCreationPolicyInput) SetAutomaticTapeCreationRules(v []*AutomaticTapeCreationRule) *UpdateAutomaticTapeCreationPolicyInput { + s.AutomaticTapeCreationRules = v + return s +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *UpdateAutomaticTapeCreationPolicyInput) SetGatewayARN(v string) *UpdateAutomaticTapeCreationPolicyInput { + s.GatewayARN = &v + return s +} + +type UpdateAutomaticTapeCreationPolicyOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + GatewayARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s UpdateAutomaticTapeCreationPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAutomaticTapeCreationPolicyOutput) GoString() string { + return s.String() +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *UpdateAutomaticTapeCreationPolicyOutput) SetGatewayARN(v string) *UpdateAutomaticTapeCreationPolicyOutput { + s.GatewayARN = &v + return s +} + // A JSON object containing one or more of the following fields: // // * UpdateBandwidthRateLimitInput$AverageDownloadRateLimitInBitsPerSec @@ -16515,8 +17148,8 @@ func (s *UpdateBandwidthRateLimitInput) SetGatewayARN(v string) *UpdateBandwidth return s } -// A JSON object containing the of the gateway whose throttle information was -// updated. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway whose +// throttle information was updated. type UpdateBandwidthRateLimitOutput struct { _ struct{} `type:"structure"` @@ -16793,7 +17426,8 @@ func (s *UpdateGatewayInformationOutput) SetGatewayName(v string) *UpdateGateway return s } -// A JSON object containing the of the gateway to update. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway to +// update. type UpdateGatewaySoftwareNowInput struct { _ struct{} `type:"structure"` @@ -16836,7 +17470,8 @@ func (s *UpdateGatewaySoftwareNowInput) SetGatewayARN(v string) *UpdateGatewaySo return s } -// A JSON object containing the of the gateway that was updated. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway that +// was updated. type UpdateGatewaySoftwareNowOutput struct { _ struct{} `type:"structure"` @@ -16970,8 +17605,8 @@ func (s *UpdateMaintenanceStartTimeInput) SetMinuteOfHour(v int64) *UpdateMainte return s } -// A JSON object containing the of the gateway whose maintenance start time -// is updated. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway whose +// maintenance start time is updated. type UpdateMaintenanceStartTimeOutput struct { _ struct{} `type:"structure"` @@ -17019,12 +17654,12 @@ type UpdateNFSFileShareInput struct { // and otherwise to false. The default value is true. GuessMIMETypeEnabled *bool `type:"boolean"` - // True to use Amazon S3 server side encryption with your own AWS KMS key, or + // True to use Amazon S3 server-side encryption with your own AWS KMS key, or // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The default values for the file share. Optional. @@ -17223,12 +17858,12 @@ type UpdateSMBFileShareInput struct { // example @group1. Can only be set if Authentication is set to ActiveDirectory. InvalidUserList []*string `type:"list"` - // True to use Amazon S3 server side encryption with your own AWS KMS key, or + // True to use Amazon S3 server-side encryption with your own AWS KMS key, or // false to use a key managed by Amazon S3. Optional. KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server - // side encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side + // encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // A value that sets the access control list permission for objects in the S3 @@ -17611,7 +18246,8 @@ func (s *UpdateSnapshotScheduleInput) SetVolumeARN(v string) *UpdateSnapshotSche return s } -// A JSON object containing the of the updated storage volume. +// A JSON object containing the Amazon Resource Name (ARN) of the updated storage +// volume. type UpdateSnapshotScheduleOutput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go index c3eb54cd5a68..61d492bc29bd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go @@ -7,7 +7,7 @@ // appliance with cloud-based storage to provide seamless and secure integration // between an organization's on-premises IT environment and the AWS storage // infrastructure. The service enables you to securely upload data to the AWS -// cloud for cost effective backup and rapid disaster recovery. +// Cloud for cost effective backup and rapid disaster recovery. // // Use the following links to get started using the AWS Storage Gateway Service // API Reference: diff --git a/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go b/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go index c894424882c5..2bb9c8f36287 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go @@ -55,26 +55,29 @@ func (c *Transfer) CreateServerRequest(input *CreateServerInput) (req *request.R return } -// CreateServer API operation for AWS Transfer for SFTP. +// CreateServer API operation for AWS Transfer Family. // -// Instantiates an autoscaling virtual server based on Secure File Transfer -// Protocol (SFTP) in AWS. When you make updates to your server or when you -// work with users, use the service-generated ServerId property that is assigned -// to the newly created server. +// Instantiates an autoscaling virtual server based on the selected file transfer +// protocol in AWS. When you make updates to your file transfer protocol-enabled +// server or when you work with users, use the service-generated ServerId property +// that is assigned to the newly created server. // // 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 AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation CreateServer for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -83,6 +86,11 @@ func (c *Transfer) CreateServerRequest(input *CreateServerInput) (req *request.R // * ResourceExistsException // The requested resource does not exist. // +// * ThrottlingException +// The request was denied due to request throttling. +// +// HTTP Status Code: 400 +// // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateServer func (c *Transfer) CreateServer(input *CreateServerInput) (*CreateServerOutput, error) { req, out := c.CreateServerRequest(input) @@ -147,29 +155,29 @@ func (c *Transfer) CreateUserRequest(input *CreateUserInput) (req *request.Reque return } -// CreateUser API operation for AWS Transfer for SFTP. +// CreateUser API operation for AWS Transfer Family. // -// Creates a user and associates them with an existing Secure File Transfer -// Protocol (SFTP) server. You can only create and associate users with SFTP -// servers that have the IdentityProviderType set to SERVICE_MANAGED. Using -// parameters for CreateUser, you can specify the user name, set the home directory, -// store the user's public key, and assign the user's AWS Identity and Access -// Management (IAM) role. You can also optionally add a scope-down policy, and -// assign metadata with tags that can be used to group and search for users. +// Creates a user and associates them with an existing file transfer protocol-enabled +// server. You can only create and associate users with servers that have the +// IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, +// you can specify the user name, set the home directory, store the user's public +// key, and assign the user's AWS Identity and Access Management (IAM) role. +// You can also optionally add a scope-down policy, and assign metadata with +// tags that can be used to group and search for users. // // 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 AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation CreateUser for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -180,7 +188,7 @@ func (c *Transfer) CreateUserRequest(input *CreateUserInput) (req *request.Reque // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateUser func (c *Transfer) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) { @@ -247,9 +255,9 @@ func (c *Transfer) DeleteServerRequest(input *DeleteServerInput) (req *request.R return } -// DeleteServer API operation for AWS Transfer for SFTP. +// DeleteServer API operation for AWS Transfer Family. // -// Deletes the Secure File Transfer Protocol (SFTP) server that you specify. +// Deletes the file transfer protocol-enabled server that you specify. // // No response returns from this operation. // @@ -257,15 +265,18 @@ func (c *Transfer) DeleteServerRequest(input *DeleteServerInput) (req *request.R // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation DeleteServer for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -273,7 +284,7 @@ func (c *Transfer) DeleteServerRequest(input *DeleteServerInput) (req *request.R // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteServer func (c *Transfer) DeleteServer(input *DeleteServerInput) (*DeleteServerOutput, error) { @@ -340,7 +351,7 @@ func (c *Transfer) DeleteSshPublicKeyRequest(input *DeleteSshPublicKeyInput) (re return } -// DeleteSshPublicKey API operation for AWS Transfer for SFTP. +// DeleteSshPublicKey API operation for AWS Transfer Family. // // Deletes a user's Secure Shell (SSH) public key. // @@ -350,15 +361,15 @@ func (c *Transfer) DeleteSshPublicKeyRequest(input *DeleteSshPublicKeyInput) (re // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation DeleteSshPublicKey for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -366,7 +377,7 @@ func (c *Transfer) DeleteSshPublicKeyRequest(input *DeleteSshPublicKeyInput) (re // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // * ThrottlingException // The request was denied due to request throttling. @@ -438,9 +449,10 @@ func (c *Transfer) DeleteUserRequest(input *DeleteUserInput) (req *request.Reque return } -// DeleteUser API operation for AWS Transfer for SFTP. +// DeleteUser API operation for AWS Transfer Family. // -// Deletes the user belonging to the server you specify. +// Deletes the user belonging to a file transfer protocol-enabled server you +// specify. // // No response returns from this operation. // @@ -450,15 +462,15 @@ func (c *Transfer) DeleteUserRequest(input *DeleteUserInput) (req *request.Reque // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation DeleteUser for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -466,7 +478,7 @@ func (c *Transfer) DeleteUserRequest(input *DeleteUserInput) (req *request.Reque // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteUser func (c *Transfer) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { @@ -532,26 +544,27 @@ func (c *Transfer) DescribeServerRequest(input *DescribeServerInput) (req *reque return } -// DescribeServer API operation for AWS Transfer for SFTP. +// DescribeServer API operation for AWS Transfer Family. // -// Describes the server that you specify by passing the ServerId parameter. +// Describes a file transfer protocol-enabled server that you specify by passing +// the ServerId parameter. // -// The response contains a description of the server's properties. When you -// set EndpointType to VPC, the response will contain the EndpointDetails. +// The response contains a description of a server's properties. When you set +// EndpointType to VPC, the response will contain the EndpointDetails. // // 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 AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation DescribeServer for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -559,7 +572,7 @@ func (c *Transfer) DescribeServerRequest(input *DescribeServerInput) (req *reque // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServer func (c *Transfer) DescribeServer(input *DescribeServerInput) (*DescribeServerOutput, error) { @@ -625,10 +638,10 @@ func (c *Transfer) DescribeUserRequest(input *DescribeUserInput) (req *request.R return } -// DescribeUser API operation for AWS Transfer for SFTP. +// DescribeUser API operation for AWS Transfer Family. // -// Describes the user assigned to a specific server, as identified by its ServerId -// property. +// Describes the user assigned to the specific file transfer protocol-enabled +// server, as identified by its ServerId property. // // The response from this call returns the properties of the user associated // with the ServerId value that was specified. @@ -637,15 +650,15 @@ func (c *Transfer) DescribeUserRequest(input *DescribeUserInput) (req *request.R // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation DescribeUser for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -653,7 +666,7 @@ func (c *Transfer) DescribeUserRequest(input *DescribeUserInput) (req *request.R // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUser func (c *Transfer) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { @@ -719,10 +732,11 @@ func (c *Transfer) ImportSshPublicKeyRequest(input *ImportSshPublicKeyInput) (re return } -// ImportSshPublicKey API operation for AWS Transfer for SFTP. +// ImportSshPublicKey API operation for AWS Transfer Family. // // Adds a Secure Shell (SSH) public key to a user account identified by a UserName -// value assigned to a specific server, identified by ServerId. +// value assigned to the specific file transfer protocol-enabled server, identified +// by ServerId. // // The response returns the UserName value, the ServerId value, and the name // of the SshPublicKeyId. @@ -731,15 +745,15 @@ func (c *Transfer) ImportSshPublicKeyRequest(input *ImportSshPublicKeyInput) (re // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation ImportSshPublicKey for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -750,7 +764,7 @@ func (c *Transfer) ImportSshPublicKeyRequest(input *ImportSshPublicKeyInput) (re // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // * ThrottlingException // The request was denied due to request throttling. @@ -827,24 +841,24 @@ func (c *Transfer) ListServersRequest(input *ListServersInput) (req *request.Req return } -// ListServers API operation for AWS Transfer for SFTP. +// ListServers API operation for AWS Transfer Family. // -// Lists the Secure File Transfer Protocol (SFTP) servers that are associated -// with your AWS account. +// Lists the file transfer protocol-enabled servers that are associated with +// your AWS account. // // 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 AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation ListServers for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidNextTokenException @@ -975,7 +989,7 @@ func (c *Transfer) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( return } -// ListTagsForResource API operation for AWS Transfer for SFTP. +// ListTagsForResource API operation for AWS Transfer Family. // // Lists all of the tags associated with the Amazon Resource Number (ARN) you // specify. The resource can be a user, server, or role. @@ -984,15 +998,15 @@ func (c *Transfer) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation ListTagsForResource for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidNextTokenException @@ -1123,23 +1137,24 @@ func (c *Transfer) ListUsersRequest(input *ListUsersInput) (req *request.Request return } -// ListUsers API operation for AWS Transfer for SFTP. +// ListUsers API operation for AWS Transfer Family. // -// Lists the users for the server that you specify by passing the ServerId parameter. +// Lists the users for a file transfer protocol-enabled server that you specify +// by passing the ServerId parameter. // // 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 AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation ListUsers for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidNextTokenException @@ -1150,7 +1165,7 @@ func (c *Transfer) ListUsersRequest(input *ListUsersInput) (req *request.Request // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListUsers func (c *Transfer) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { @@ -1269,11 +1284,11 @@ func (c *Transfer) StartServerRequest(input *StartServerInput) (req *request.Req return } -// StartServer API operation for AWS Transfer for SFTP. +// StartServer API operation for AWS Transfer Family. // -// Changes the state of a Secure File Transfer Protocol (SFTP) server from OFFLINE -// to ONLINE. It has no impact on an SFTP server that is already ONLINE. An -// ONLINE server can accept and process file transfer jobs. +// Changes the state of a file transfer protocol-enabled server from OFFLINE +// to ONLINE. It has no impact on a server that is already ONLINE. An ONLINE +// server can accept and process file transfer jobs. // // The state of STARTING indicates that the server is in an intermediate state, // either not fully able to respond, or not fully online. The values of START_FAILED @@ -1285,15 +1300,15 @@ func (c *Transfer) StartServerRequest(input *StartServerInput) (req *request.Req // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation StartServer for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -1301,7 +1316,7 @@ func (c *Transfer) StartServerRequest(input *StartServerInput) (req *request.Req // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // * ThrottlingException // The request was denied due to request throttling. @@ -1373,13 +1388,13 @@ func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Reque return } -// StopServer API operation for AWS Transfer for SFTP. +// StopServer API operation for AWS Transfer Family. // -// Changes the state of an SFTP server from ONLINE to OFFLINE. An OFFLINE server -// cannot accept and process file transfer jobs. Information tied to your server -// such as server and user properties are not affected by stopping your server. -// Stopping a server will not reduce or impact your Secure File Transfer Protocol -// (SFTP) endpoint billing. +// Changes the state of a file transfer protocol-enabled server from ONLINE +// to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. +// Information tied to your server, such as server and user properties, are +// not affected by stopping your server. Stopping the server will not reduce +// or impact your file transfer protocol endpoint billing. // // The state of STOPPING indicates that the server is in an intermediate state, // either not fully able to respond, or not fully offline. The values of STOP_FAILED @@ -1391,15 +1406,15 @@ func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Reque // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation StopServer for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -1407,7 +1422,7 @@ func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Reque // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // * ThrottlingException // The request was denied due to request throttling. @@ -1479,7 +1494,7 @@ func (c *Transfer) TagResourceRequest(input *TagResourceInput) (req *request.Req return } -// TagResource API operation for AWS Transfer for SFTP. +// TagResource API operation for AWS Transfer Family. // // Attaches a key-value pair to a resource, as identified by its Amazon Resource // Name (ARN). Resources are users, servers, roles, and other entities. @@ -1490,15 +1505,15 @@ func (c *Transfer) TagResourceRequest(input *TagResourceInput) (req *request.Req // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation TagResource for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -1506,7 +1521,7 @@ func (c *Transfer) TagResourceRequest(input *TagResourceInput) (req *request.Req // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TagResource func (c *Transfer) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -1572,27 +1587,28 @@ func (c *Transfer) TestIdentityProviderRequest(input *TestIdentityProviderInput) return } -// TestIdentityProvider API operation for AWS Transfer for SFTP. +// TestIdentityProvider API operation for AWS Transfer Family. // -// If the IdentityProviderType of the server is API_Gateway, tests whether your -// API Gateway is set up successfully. We highly recommend that you call this -// operation to test your authentication method as soon as you create your server. -// By doing so, you can troubleshoot issues with the API Gateway integration -// to ensure that your users can successfully use the service. +// If the IdentityProviderType of a file transfer protocol-enabled server is +// API_Gateway, tests whether your API Gateway is set up successfully. We highly +// recommend that you call this operation to test your authentication method +// as soon as you create your server. By doing so, you can troubleshoot issues +// with the API Gateway integration to ensure that your users can successfully +// use the service. // // 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 AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation TestIdentityProvider for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -1600,7 +1616,7 @@ func (c *Transfer) TestIdentityProviderRequest(input *TestIdentityProviderInput) // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TestIdentityProvider func (c *Transfer) TestIdentityProvider(input *TestIdentityProviderInput) (*TestIdentityProviderOutput, error) { @@ -1667,7 +1683,7 @@ func (c *Transfer) UntagResourceRequest(input *UntagResourceInput) (req *request return } -// UntagResource API operation for AWS Transfer for SFTP. +// UntagResource API operation for AWS Transfer Family. // // Detaches a key-value pair from a resource, as identified by its Amazon Resource // Name (ARN). Resources are users, servers, roles, and other entities. @@ -1678,15 +1694,15 @@ func (c *Transfer) UntagResourceRequest(input *UntagResourceInput) (req *request // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation UntagResource for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -1694,7 +1710,7 @@ func (c *Transfer) UntagResourceRequest(input *UntagResourceInput) (req *request // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UntagResource func (c *Transfer) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -1760,31 +1776,34 @@ func (c *Transfer) UpdateServerRequest(input *UpdateServerInput) (req *request.R return } -// UpdateServer API operation for AWS Transfer for SFTP. +// UpdateServer API operation for AWS Transfer Family. // -// Updates the server properties after that server has been created. +// Updates the file transfer protocol-enabled server's properties after that +// server has been created. // -// The UpdateServer call returns the ServerId of the Secure File Transfer Protocol -// (SFTP) server you updated. +// The UpdateServer call returns the ServerId of the server you updated. // // 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 AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation UpdateServer for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * ConflictException -// This exception is thrown when the UpdatServer is called for a server that -// has VPC as the endpoint type and the server's VpcEndpointID is not in the -// available state. +// This exception is thrown when the UpdatServer is called for a file transfer +// protocol-enabled server that has VPC as the endpoint type and the server's +// VpcEndpointID is not in the available state. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -1795,7 +1814,7 @@ func (c *Transfer) UpdateServerRequest(input *UpdateServerInput) (req *request.R // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // * ThrottlingException // The request was denied due to request throttling. @@ -1866,7 +1885,7 @@ func (c *Transfer) UpdateUserRequest(input *UpdateUserInput) (req *request.Reque return } -// UpdateUser API operation for AWS Transfer for SFTP. +// UpdateUser API operation for AWS Transfer Family. // // Assigns new properties to a user. Parameters you pass modify any or all of // the following: the home directory, role, and policy for the UserName and @@ -1878,15 +1897,15 @@ func (c *Transfer) UpdateUserRequest(input *UpdateUserInput) (req *request.Reque // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for AWS Transfer for SFTP's +// See the AWS API reference guide for AWS Transfer Family's // API operation UpdateUser for usage and error information. // // Returned Error Types: // * ServiceUnavailableException -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. // // * InternalServiceError -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. // // * InvalidRequestException @@ -1894,7 +1913,7 @@ func (c *Transfer) UpdateUserRequest(input *UpdateUserInput) (req *request.Reque // // * ResourceNotFoundException // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. // // * ThrottlingException // The request was denied due to request throttling. @@ -1923,9 +1942,65 @@ func (c *Transfer) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput return out, req.Send() } -// This exception is thrown when the UpdatServer is called for a server that -// has VPC as the endpoint type and the server's VpcEndpointID is not in the -// available state. +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// This exception is thrown when the UpdatServer is called for a file transfer +// protocol-enabled server that has VPC as the endpoint type and the server's +// VpcEndpointID is not in the available state. type ConflictException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1984,49 +2059,67 @@ func (s *ConflictException) RequestID() string { type CreateServerInput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. + // Required when Protocols is set to FTPS. + Certificate *string `type:"string"` + // The virtual private cloud (VPC) endpoint settings that are configured for - // your SFTP server. With a VPC endpoint, you can restrict access to your SFTP - // server to resources only within your VPC. To control incoming internet traffic, - // you will need to invoke the UpdateServer API and attach an Elastic IP to - // your server's endpoint. + // your file transfer protocol-enabled server. When you host your endpoint within + // your VPC, you can make it accessible only to resources within your VPC, or + // you can attach Elastic IPs and make it accessible to clients over the internet. + // Your VPC's default security groups are automatically assigned to your endpoint. EndpointDetails *EndpointDetails `type:"structure"` - // The type of VPC endpoint that you want your SFTP server to connect to. You - // can choose to connect to the public internet or a virtual private cloud (VPC) - // endpoint. With a VPC endpoint, you can restrict access to your SFTP server - // and resources only within your VPC. + // The type of VPC endpoint that you want your file transfer protocol-enabled + // server to connect to. You can choose to connect to the public internet or + // a virtual private cloud (VPC) endpoint. With a VPC endpoint, you can restrict + // access to your server and resources only within your VPC. EndpointType *string `type:"string" enum:"EndpointType"` // The RSA private key as generated by the ssh-keygen -N "" -f my-new-server-key // command. // - // If you aren't planning to migrate existing users from an existing SFTP server - // to a new AWS SFTP server, don't update the host key. Accidentally changing + // If you aren't planning to migrate existing users from an existing SFTP-enabled + // server to a new server, don't update the host key. Accidentally changing // a server's host key can be disruptive. // - // For more information, see "https://alpha-docs-aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key" - // in the AWS SFTP User Guide. + // For more information, see Changing the Host Key for Your AWS Transfer Family + // Server (https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key) + // in the AWS Transfer Family User Guide. HostKey *string `type:"string" sensitive:"true"` - // This parameter is required when the IdentityProviderType is set to API_GATEWAY. - // Accepts an array containing all of the information required to call a customer-supplied - // authentication API, including the API Gateway URL. This property is not required - // when the IdentityProviderType is set to SERVICE_MANAGED. + // Required when IdentityProviderType is set to API_GATEWAY. Accepts an array + // containing all of the information required to call a customer-supplied authentication + // API, including the API Gateway URL. Not required when IdentityProviderType + // is set to SERVICE_MANAGED. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` - // Specifies the mode of authentication for the SFTP server. The default value - // is SERVICE_MANAGED, which allows you to store and access SFTP user credentials - // within the AWS Transfer for SFTP service. Use the API_GATEWAY value to integrate - // with an identity provider of your choosing. The API_GATEWAY setting requires - // you to provide an API Gateway endpoint URL to call for authentication using - // the IdentityProviderDetails parameter. + // Specifies the mode of authentication for a file transfer protocol-enabled + // server. The default value is SERVICE_MANAGED, which allows you to store and + // access user credentials within the AWS Transfer Family service. Use the API_GATEWAY + // value to integrate with an identity provider of your choosing. The API_GATEWAY + // setting requires you to provide an API Gateway endpoint URL to call for authentication + // using the IdentityProviderDetails parameter. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` - // A value that allows the service to write your SFTP users' activity to your - // Amazon CloudWatch logs for monitoring and auditing purposes. + // Allows the service to write your users' activity to your Amazon CloudWatch + // logs for monitoring and auditing purposes. LoggingRole *string `min:"20" type:"string"` - // Key-value pairs that can be used to group and search for servers. + // Specifies the file transfer protocol or protocols over which your file transfer + // protocol client can connect to your server's endpoint. The available protocols + // are: + // + // * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over + // SSH + // + // * File Transfer Protocol Secure (FTPS): File transfer with TLS encryption + // + // * File Transfer Protocol (FTP): Unencrypted file transfer + Protocols []*string `min:"1" type:"list"` + + // Key-value pairs that can be used to group and search for file transfer protocol-enabled + // servers. Tags []*Tag `min:"1" type:"list"` } @@ -2046,6 +2139,9 @@ func (s *CreateServerInput) Validate() error { if s.LoggingRole != nil && len(*s.LoggingRole) < 20 { invalidParams.Add(request.NewErrParamMinLen("LoggingRole", 20)) } + if s.Protocols != nil && len(s.Protocols) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Protocols", 1)) + } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } @@ -2076,6 +2172,12 @@ func (s *CreateServerInput) Validate() error { return nil } +// SetCertificate sets the Certificate field's value. +func (s *CreateServerInput) SetCertificate(v string) *CreateServerInput { + s.Certificate = &v + return s +} + // SetEndpointDetails sets the EndpointDetails field's value. func (s *CreateServerInput) SetEndpointDetails(v *EndpointDetails) *CreateServerInput { s.EndpointDetails = v @@ -2112,6 +2214,12 @@ func (s *CreateServerInput) SetLoggingRole(v string) *CreateServerInput { return s } +// SetProtocols sets the Protocols field's value. +func (s *CreateServerInput) SetProtocols(v []*string) *CreateServerInput { + s.Protocols = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateServerInput) SetTags(v []*Tag) *CreateServerInput { s.Tags = v @@ -2121,7 +2229,8 @@ func (s *CreateServerInput) SetTags(v []*Tag) *CreateServerInput { type CreateServerOutput struct { _ struct{} `type:"structure"` - // The service-assigned ID of the SFTP server that is created. + // The service-assigned ID of the file transfer protocol-enabled server that + // is created. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -2146,40 +2255,42 @@ func (s *CreateServerOutput) SetServerId(v string) *CreateServerOutput { type CreateUserInput struct { _ struct{} `type:"structure"` - // The landing directory (folder) for a user when they log in to the server - // using their SFTP client. + // The landing directory (folder) for a user when they log in to the file transfer + // protocol-enabled server using the client. // - // An example is /home/username. + // An example is your-Amazon-S3-bucket-name>/home/username. HomeDirectory *string `type:"string"` - // Logical directory mappings that specify what S3 paths and keys should be - // visible to your user and how you want to make them visible. You will need + // Logical directory mappings that specify what Amazon S3 paths and keys should + // be visible to your user and how you want to make them visible. You will need // to specify the "Entry" and "Target" pair, where Entry shows how the path - // is made visible and Target is the actual S3 path. If you only specify a target, - // it will be displayed as is. You will need to also make sure that your AWS - // IAM Role provides access to paths in Target. The following is an example. + // is made visible and Target is the actual Amazon S3 path. If you only specify + // a target, it will be displayed as is. You will need to also make sure that + // your AWS IAM Role provides access to paths in Target. The following is an + // example. // // '[ "/bucket2/documentation", { "Entry": "your-personal-report.pdf", "Target": // "/bucket3/customized-reports/${transfer:UserName}.pdf" } ]' // - // In most cases, you can use this value instead of the scope down policy to + // In most cases, you can use this value instead of the scope-down policy to // lock your user down to the designated home directory ("chroot"). To do this, // you can set Entry to '/' and set Target to the HomeDirectory parameter value. // - // If the target of a logical directory entry does not exist in S3, the entry - // will be ignored. As a workaround, you can use the S3 api to create 0 byte - // objects as place holders for your directory. If using the CLI, use the s3api - // call instead of s3 so you can use the put-object operation. For example, - // you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. - // Make sure that the end of the key name ends in a / for it to be considered - // a folder. + // If the target of a logical directory entry does not exist in Amazon S3, the + // entry will be ignored. As a workaround, you can use the Amazon S3 api to + // create 0 byte objects as place holders for your directory. If using the CLI, + // use the s3api call instead of s3 so you can use the put-object operation. + // For example, you use the following: aws s3api put-object --bucket bucketname + // --key path/to/folder/. Make sure that the end of the key name ends in a '/' + // for it to be considered a folder. HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` // The type of landing directory (folder) you want your users' home directory - // to be when they log into the SFTP server. If you set it to PATH, the user - // will see the absolute Amazon S3 bucket paths as is in their SFTP clients. - // If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings - // for how you want to make S3 paths visible to your user. + // to be when they log into the file transfer protocol-enabled server. If you + // set it to PATH, the user will see the absolute Amazon S3 bucket paths as + // is in their file transfer protocol clients. If you set it LOGICAL, you will + // need to provide mappings in the HomeDirectoryMappings for how you want to + // make Amazon S3 paths visible to your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` // A scope-down policy for your user so you can use the same IAM role across @@ -2187,45 +2298,45 @@ type CreateUserInput struct { // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. // - // For scope-down policies, AWS Transfer for SFTP stores the policy as a JSON + // For scope-down policies, AWS Transfer Family stores the policy as a JSON // blob, instead of the Amazon Resource Name (ARN) of the policy. You save the // policy as a JSON blob and pass it in the Policy argument. // - // For an example of a scope-down policy, see "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down">Creating - // a Scope-Down Policy. + // For an example of a scope-down policy, see Creating a Scope-Down Policy (https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down). // - // For more information, see "https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html" + // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) // in the AWS Security Token Service API Reference. Policy *string `type:"string"` - // The IAM role that controls your user's access to your Amazon S3 bucket. The + // The IAM role that controls your users' access to your Amazon S3 bucket. The // policies attached to this role will determine the level of access you want // to provide your users when transferring files into and out of your Amazon // S3 bucket or buckets. The IAM role should also contain a trust relationship - // that allows the SFTP server to access your resources when servicing your - // SFTP user's transfer requests. + // that allows the file transfer protocol-enabled server to access your resources + // when servicing your users' transfer requests. // // Role is a required field Role *string `min:"20" type:"string" required:"true"` - // A system-assigned unique identifier for an SFTP server instance. This is - // the specific SFTP server that you added your user to. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server instance. This is the specific server that you added your user to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` // The public portion of the Secure Shell (SSH) key used to authenticate the - // user to the SFTP server. + // user to the file transfer protocol-enabled server. SshPublicKeyBody *string `type:"string"` // Key-value pairs that can be used to group and search for users. Tags are // metadata attached to users for any purpose. Tags []*Tag `min:"1" type:"list"` - // A unique string that identifies a user and is associated with a server as - // specified by the ServerId. This user name must be a minimum of 3 and a maximum - // of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, - // underscore, and hyphen. The user name can't start with a hyphen. + // A unique string that identifies a user and is associated with a file transfer + // protocol-enabled server as specified by the ServerId. This user name must + // be a minimum of 3 and a maximum of 32 characters long. The following are + // valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't + // start with a hyphen. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -2352,12 +2463,14 @@ func (s *CreateUserInput) SetUserName(v string) *CreateUserInput { type CreateUserOutput struct { _ struct{} `type:"structure"` - // The ID of the SFTP server that the user is attached to. + // The ID of the file transfer protocol-enabled server that the user is attached + // to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // A unique string that identifies a user account associated with an SFTP server. + // A unique string that identifies a user account associated with a file transfer + // protocol-enabled server. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -2388,7 +2501,8 @@ func (s *CreateUserOutput) SetUserName(v string) *CreateUserOutput { type DeleteServerInput struct { _ struct{} `type:"structure"` - // A unique system-assigned identifier for an SFTP server instance. + // A unique system-assigned identifier for a file transfer protocol-enabled + // server instance. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -2443,7 +2557,7 @@ func (s DeleteServerOutput) GoString() string { type DeleteSshPublicKeyInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a Secure File Transfer Protocol (SFTP) + // A system-assigned unique identifier for a file transfer protocol-enabled // server instance that has the user assigned to it. // // ServerId is a required field @@ -2533,13 +2647,14 @@ func (s DeleteSshPublicKeyOutput) GoString() string { type DeleteUserInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server instance that has - // the user assigned to it. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server instance that has the user assigned to it. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // A unique string that identifies a user that is being deleted from the server. + // A unique string that identifies a user that is being deleted from a file + // transfer protocol-enabled server. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -2606,7 +2721,8 @@ func (s DeleteUserOutput) GoString() string { type DescribeServerInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -2647,7 +2763,8 @@ func (s *DescribeServerInput) SetServerId(v string) *DescribeServerInput { type DescribeServerOutput struct { _ struct{} `type:"structure"` - // An array containing the properties of the server with the ServerID you specified. + // An array containing the properties of a file transfer protocol-enabled server + // with the ServerID you specified. // // Server is a required field Server *DescribedServer `type:"structure" required:"true"` @@ -2672,15 +2789,15 @@ func (s *DescribeServerOutput) SetServer(v *DescribedServer) *DescribeServerOutp type DescribeUserInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server that has this user - // assigned. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server that has this user assigned. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // The name of the user assigned to one or more servers. User names are part - // of the sign-in credentials to use the AWS Transfer for SFTP service and perform - // file transfer tasks. + // The name of the user assigned to one or more file transfer protocol-enabled + // servers. User names are part of the sign-in credentials to use the AWS Transfer + // Family service and perform file transfer tasks. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -2733,8 +2850,8 @@ func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { type DescribeUserOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server that has this user - // assigned. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server that has this user assigned. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -2768,68 +2885,87 @@ func (s *DescribeUserOutput) SetUser(v *DescribedUser) *DescribeUserOutput { return s } -// Describes the properties of the server that was specified. Information returned -// includes the following: the server Amazon Resource Name (ARN), the authentication -// configuration and type, the logging role, the server ID and state, and assigned -// tags or metadata. +// Describes the properties of a file transfer protocol-enabled server that +// was specified. Information returned includes the following: the server Amazon +// Resource Name (ARN), the authentication configuration and type, the logging +// role, the server ID and state, and assigned tags or metadata. type DescribedServer struct { _ struct{} `type:"structure"` - // Specifies the unique Amazon Resource Name (ARN) for the server to be described. + // Specifies the unique Amazon Resource Name (ARN) for a file transfer protocol-enabled + // server to be described. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. + // Required when Protocols is set to FTPS. + Certificate *string `type:"string"` + // The virtual private cloud (VPC) endpoint settings that you configured for - // your SFTP server. + // your file transfer protocol-enabled server. EndpointDetails *EndpointDetails `type:"structure"` - // The type of endpoint that your SFTP server is connected to. If your SFTP - // server is connected to a VPC endpoint, your server isn't accessible over - // the public internet. + // The type of endpoint that your file transfer protocol-enabled server is connected + // to. If your server is connected to a VPC endpoint, your server isn't accessible + // over the public internet. EndpointType *string `type:"string" enum:"EndpointType"` - // This value contains the message-digest algorithm (MD5) hash of the server's - // host key. This value is equivalent to the output of the ssh-keygen -l -E - // md5 -f my-new-server-key command. + // Contains the message-digest algorithm (MD5) hash of a file transfer protocol-enabled + // server's host key. This value is equivalent to the output of the ssh-keygen + // -l -E md5 -f my-new-server-key command. HostKeyFingerprint *string `type:"string"` // Specifies information to call a customer-supplied authentication API. This - // field is not populated when the IdentityProviderType of the server is SERVICE_MANAGED>. + // field is not populated when the IdentityProviderType of a file transfer protocol-enabled + // server is SERVICE_MANAGED. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` - // This property defines the mode of authentication method enabled for this - // service. A value of SERVICE_MANAGED means that you are using this server - // to store and access SFTP user credentials within the service. A value of + // Defines the mode of authentication method enabled for this service. A value + // of SERVICE_MANAGED means that you are using this file transfer protocol-enabled + // server to store and access user credentials within the service. A value of // API_GATEWAY indicates that you have integrated an API Gateway endpoint that // will be invoked for authenticating your user into the service. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` - // This property is an AWS Identity and Access Management (IAM) entity that - // allows the server to turn on Amazon CloudWatch logging for Amazon S3 events. - // When set, user activity can be viewed in your CloudWatch logs. + // An AWS Identity and Access Management (IAM) entity that allows a file transfer + // protocol-enabled server to turn on Amazon CloudWatch logging for Amazon S3 + // events. When set, user activity can be viewed in your CloudWatch logs. LoggingRole *string `min:"20" type:"string"` - // This property is a unique system-assigned identifier for the SFTP server + // Specifies the file transfer protocol or protocols over which your file transfer + // protocol client can connect to your server's endpoint. The available protocols + // are: + // + // * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over + // SSH + // + // * File Transfer Protocol Secure (FTPS): File transfer with TLS encryption + // + // * File Transfer Protocol (FTP): Unencrypted file transfer + Protocols []*string `min:"1" type:"list"` + + // Unique system-assigned identifier for a file transfer protocol-enabled server // that you instantiate. ServerId *string `min:"19" type:"string"` - // The condition of the SFTP server for the server that was described. A value - // of ONLINE indicates that the server can accept jobs and transfer files. A - // State value of OFFLINE means that the server cannot perform file transfer - // operations. + // The condition of a file transfer protocol-enabled server for the server that + // was described. A value of ONLINE indicates that the server can accept jobs + // and transfer files. A State value of OFFLINE means that the server cannot + // perform file transfer operations. // // The states of STARTING and STOPPING indicate that the server is in an intermediate // state, either not fully able to respond, or not fully offline. The values // of START_FAILED or STOP_FAILED can indicate an error condition. State *string `type:"string" enum:"State"` - // This property contains the key-value pairs that you can use to search for - // and group servers that were assigned to the server that was described. + // Contains the key-value pairs that you can use to search for and group file + // transfer protocol-enabled servers that were assigned to the server that was + // described. Tags []*Tag `min:"1" type:"list"` - // The number of users that are assigned to the SFTP server you specified with - // the ServerId. + // The number of users that are assigned to a file transfer protocol-enabled + // server you specified with the ServerId. UserCount *int64 `type:"integer"` } @@ -2849,6 +2985,12 @@ func (s *DescribedServer) SetArn(v string) *DescribedServer { return s } +// SetCertificate sets the Certificate field's value. +func (s *DescribedServer) SetCertificate(v string) *DescribedServer { + s.Certificate = &v + return s +} + // SetEndpointDetails sets the EndpointDetails field's value. func (s *DescribedServer) SetEndpointDetails(v *EndpointDetails) *DescribedServer { s.EndpointDetails = v @@ -2885,6 +3027,12 @@ func (s *DescribedServer) SetLoggingRole(v string) *DescribedServer { return s } +// SetProtocols sets the Protocols field's value. +func (s *DescribedServer) SetProtocols(v []*string) *DescribedServer { + s.Protocols = v + return s +} + // SetServerId sets the ServerId field's value. func (s *DescribedServer) SetServerId(v string) *DescribedServer { s.ServerId = &v @@ -2913,62 +3061,59 @@ func (s *DescribedServer) SetUserCount(v int64) *DescribedServer { type DescribedUser struct { _ struct{} `type:"structure"` - // This property contains the unique Amazon Resource Name (ARN) for the user - // that was requested to be described. + // Contains the unique Amazon Resource Name (ARN) for the user that was requested + // to be described. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` - // This property specifies the landing directory (or folder), which is the location - // that files are written to or read from in an Amazon S3 bucket for the described - // user. An example is /your s3 bucket name/home/username . + // Specifies the landing directory (or folder), which is the location that files + // are written to or read from in an Amazon S3 bucket for the described user. + // An example is /your s3 bucket name/home/username . HomeDirectory *string `type:"string"` - // Logical directory mappings that you specified for what S3 paths and keys - // should be visible to your user and how you want to make them visible. You - // will need to specify the "Entry" and "Target" pair, where Entry shows how - // the path is made visible and Target is the actual S3 path. If you only specify - // a target, it will be displayed as is. You will need to also make sure that - // your AWS IAM Role provides access to paths in Target. + // Logical directory mappings that you specified for what Amazon S3 paths and + // keys should be visible to your user and how you want to make them visible. + // You will need to specify the "Entry" and "Target" pair, where Entry shows + // how the path is made visible and Target is the actual Amazon S3 path. If + // you only specify a target, it will be displayed as is. You will need to also + // make sure that your AWS IAM Role provides access to paths in Target. // - // In most cases, you can use this value instead of the scope down policy to - // lock your user down to the designated home directory ("chroot"). To do this, - // you can set Entry to '/' and set Target to the HomeDirectory parameter value. - // - // In most cases, you can use this value instead of the scope down policy to + // In most cases, you can use this value instead of the scope-down policy to // lock your user down to the designated home directory ("chroot"). To do this, // you can set Entry to '/' and set Target to the HomeDirectory parameter value. HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` - // The type of landing directory (folder) you mapped for your users' to see - // when they log into the SFTP server. If you set it to PATH, the user will - // see the absolute Amazon S3 bucket paths as is in their SFTP clients. If you - // set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings - // for how you want to make S3 paths visible to your user. + // The type of landing directory (folder) you mapped for your users to see when + // they log into the file transfer protocol-enabled server. If you set it to + // PATH, the user will see the absolute Amazon S3 bucket paths as is in their + // file transfer protocol clients. If you set it LOGICAL, you will need to provide + // mappings in the HomeDirectoryMappings for how you want to make Amazon S3 + // paths visible to your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` // Specifies the name of the policy in use for the described user. Policy *string `type:"string"` - // This property specifies the IAM role that controls your user's access to - // your Amazon S3 bucket. The policies attached to this role will determine - // the level of access you want to provide your users when transferring files - // into and out of your Amazon S3 bucket or buckets. The IAM role should also - // contain a trust relationship that allows the SFTP server to access your resources - // when servicing your SFTP user's transfer requests. + // Specifies the IAM role that controls your users' access to your Amazon S3 + // bucket. The policies attached to this role will determine the level of access + // you want to provide your users when transferring files into and out of your + // Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship + // that allows a file transfer protocol-enabled server to access your resources + // when servicing your users' transfer requests. Role *string `min:"20" type:"string"` - // This property contains the public key portion of the Secure Shell (SSH) keys - // stored for the described user. + // Contains the public key portion of the Secure Shell (SSH) keys stored for + // the described user. SshPublicKeys []*SshPublicKey `type:"list"` - // This property contains the key-value pairs for the user requested. Tag can - // be used to search for and group users for a variety of purposes. + // Contains the key-value pairs for the user requested. Tag can be used to search + // for and group users for a variety of purposes. Tags []*Tag `min:"1" type:"list"` - // This property is the name of the user that was requested to be described. - // User names are used for authentication purposes. This is the string that - // will be used by your user when they log in to your SFTP server. + // The name of the user that was requested to be described. User names are used + // for authentication purposes. This is the string that will be used by your + // user when they log in to your file transfer protocol-enabled server. UserName *string `min:"3" type:"string"` } @@ -3037,28 +3182,29 @@ func (s *DescribedUser) SetUserName(v string) *DescribedUser { } // The virtual private cloud (VPC) endpoint settings that are configured for -// your SFTP server. With a VPC endpoint, you can restrict access to your SFTP -// server and resources only within your VPC. To control incoming internet traffic, -// invoke the UpdateServer API and attach an Elastic IP to your server's endpoint. +// your file transfer protocol-enabled server. With a VPC endpoint, you can +// restrict access to your server and resources only within your VPC. To control +// incoming internet traffic, invoke the UpdateServer API and attach an Elastic +// IP to your server's endpoint. type EndpointDetails struct { _ struct{} `type:"structure"` // A list of address allocation IDs that are required to attach an Elastic IP - // address to your SFTP server's endpoint. This is only valid in the UpdateServer - // API. + // address to your file transfer protocol-enabled server's endpoint. This is + // only valid in the UpdateServer API. // // This property can only be use when EndpointType is set to VPC. AddressAllocationIds []*string `type:"list"` - // A list of subnet IDs that are required to host your SFTP server endpoint - // in your VPC. + // A list of subnet IDs that are required to host your file transfer protocol-enabled + // server endpoint in your VPC. SubnetIds []*string `type:"list"` // The ID of the VPC endpoint. VpcEndpointId *string `min:"22" type:"string"` - // The VPC ID of the virtual private cloud in which the SFTP server's endpoint - // will be hosted. + // The VPC ID of the VPC in which a file transfer protocol-enabled server's + // endpoint will be hosted. VpcId *string `type:"string"` } @@ -3163,16 +3309,15 @@ func (s *HomeDirectoryMapEntry) SetTarget(v string) *HomeDirectoryMapEntry { } // Returns information related to the type of user authentication that is in -// use for a server's users. A server can have only one method of authentication. +// use for a file transfer protocol-enabled server's users. A server can have +// only one method of authentication. type IdentityProviderDetails struct { _ struct{} `type:"structure"` - // The InvocationRole parameter provides the type of InvocationRole used to - // authenticate the user account. + // Provides the type of InvocationRole used to authenticate the user account. InvocationRole *string `min:"20" type:"string"` - // The Url parameter provides contains the location of the service endpoint - // used to authenticate users. + // Contains the location of the service endpoint used to authenticate users. Url *string `type:"string"` } @@ -3214,7 +3359,8 @@ func (s *IdentityProviderDetails) SetUrl(v string) *IdentityProviderDetails { type ImportSshPublicKeyInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -3224,7 +3370,8 @@ type ImportSshPublicKeyInput struct { // SshPublicKeyBody is a required field SshPublicKeyBody *string `type:"string" required:"true"` - // The name of the user account that is assigned to one or more servers. + // The name of the user account that is assigned to one or more file transfer + // protocol-enabled servers. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -3283,19 +3430,19 @@ func (s *ImportSshPublicKeyInput) SetUserName(v string) *ImportSshPublicKeyInput return s } -// This response identifies the user, the server they belong to, and the identifier -// of the SSH public key associated with that user. A user can have more than -// one key on each server that they are associated with. +// Identifies the user, the file transfer protocol-enabled server they belong +// to, and the identifier of the SSH public key associated with that user. A +// user can have more than one key on each server that they are associated with. type ImportSshPublicKeyOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // This identifier is the name given to a public key by the system that was - // imported. + // The name given to a public key by the system that was imported. // // SshPublicKeyId is a required field SshPublicKeyId *string `min:"21" type:"string" required:"true"` @@ -3334,7 +3481,7 @@ func (s *ImportSshPublicKeyOutput) SetUserName(v string) *ImportSshPublicKeyOutp return s } -// This exception is thrown when an error occurs in the AWS Transfer for SFTP +// This exception is thrown when an error occurs in the AWS Transfer Family // service. type InternalServiceError struct { _ struct{} `type:"structure"` @@ -3506,13 +3653,14 @@ func (s *InvalidRequestException) RequestID() string { type ListServersInput struct { _ struct{} `type:"structure"` - // Specifies the number of servers to return as a response to the ListServers - // query. + // Specifies the number of file transfer protocol-enabled servers to return + // as a response to the ListServers query. MaxResults *int64 `min:"1" type:"integer"` - // When additional results are obtained from the ListServers command, a NextToken + // When additional results are obtained from theListServers command, a NextToken // parameter is returned in the output. You can then pass the NextToken parameter - // in a subsequent command to continue listing additional servers. + // in a subsequent command to continue listing additional file transfer protocol-enabled + // servers. NextToken *string `min:"1" type:"string"` } @@ -3559,10 +3707,11 @@ type ListServersOutput struct { // When you can get additional results from the ListServers operation, a NextToken // parameter is returned in the output. In a following command, you can pass - // in the NextToken parameter to continue listing additional servers. + // in the NextToken parameter to continue listing additional file transfer protocol-enabled + // servers. NextToken *string `min:"1" type:"string"` - // An array of servers that were listed. + // An array of file transfer protocol-enabled servers that were listed. // // Servers is a required field Servers []*ListedServer `type:"list" required:"true"` @@ -3663,7 +3812,7 @@ func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceIn type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // This value is the ARN you specified to list the tags of. + // The ARN you specified to list the tags of. Arn *string `min:"20" type:"string"` // When you can get additional results from the ListTagsForResource call, a @@ -3715,7 +3864,7 @@ type ListUsersInput struct { // to the NextToken parameter to continue listing additional users. NextToken *string `min:"1" type:"string"` - // A system-assigned unique identifier for a Secure File Transfer Protocol (SFTP) + // A system-assigned unique identifier for a file transfer protocol-enabled // server that has users assigned to it. // // ServerId is a required field @@ -3780,8 +3929,8 @@ type ListUsersOutput struct { // to the NextToken parameter to continue listing additional users. NextToken *string `min:"1" type:"string"` - // A system-assigned unique identifier for an SFTP server that the users are - // assigned to. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server that the users are assigned to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -3821,46 +3970,47 @@ func (s *ListUsersOutput) SetUsers(v []*ListedUser) *ListUsersOutput { return s } -// Returns properties of the server that was specified. +// Returns properties of a file transfer protocol-enabled server that was specified. type ListedServer struct { _ struct{} `type:"structure"` - // The unique Amazon Resource Name (ARN) for the server to be listed. + // The unique Amazon Resource Name (ARN) for a file transfer protocol-enabled + // server to be listed. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` - // The type of VPC endpoint that your SFTP server is connected to. If your SFTP - // server is connected to a VPC endpoint, your server isn't accessible over - // the public internet. + // The type of VPC endpoint that your file transfer protocol-enabled server + // is connected to. If your server is connected to a VPC endpoint, your server + // isn't accessible over the public internet. EndpointType *string `type:"string" enum:"EndpointType"` - // The authentication method used to validate a user for the server that was - // specified. This can include Secure Shell (SSH), user name and password combinations, - // or your own custom authentication method. Valid values include SERVICE_MANAGED - // or API_GATEWAY. + // The authentication method used to validate a user for a file transfer protocol-enabled + // server that was specified. This can include Secure Shell (SSH), user name + // and password combinations, or your own custom authentication method. Valid + // values include SERVICE_MANAGED or API_GATEWAY. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` - // The AWS Identity and Access Management entity that allows the server to turn - // on Amazon CloudWatch logging. + // The AWS Identity and Access Management (IAM) entity that allows a file transfer + // protocol-enabled server to turn on Amazon CloudWatch logging. LoggingRole *string `min:"20" type:"string"` - // This value is the unique system assigned identifier for the SFTP servers - // that were listed. + // The unique system assigned identifier for a file transfer protocol-enabled + // servers that were listed. ServerId *string `min:"19" type:"string"` - // This property describes the condition of the SFTP server for the server that - // was described. A value of ONLINE> indicates that the server can accept jobs - // and transfer files. A State value of OFFLINE means that the server cannot - // perform file transfer operations. + // Describes the condition of a file transfer protocol-enabled server for the + // server that was described. A value of ONLINE indicates that the server can + // accept jobs and transfer files. A State value of OFFLINE means that the server + // cannot perform file transfer operations. // // The states of STARTING and STOPPING indicate that the server is in an intermediate // state, either not fully able to respond, or not fully offline. The values // of START_FAILED or STOP_FAILED can indicate an error condition. State *string `type:"string" enum:"State"` - // This property is a numeric value that indicates the number of users that - // are assigned to the SFTP server you specified with the ServerId. + // A numeric value that indicates the number of users that are assigned to a + // file transfer protocol-enabled server you specified with the ServerId. UserCount *int64 `type:"integer"` } @@ -3920,30 +4070,31 @@ func (s *ListedServer) SetUserCount(v int64) *ListedServer { type ListedUser struct { _ struct{} `type:"structure"` - // This property is the unique Amazon Resource Name (ARN) for the user that - // you want to learn about. + // The unique Amazon Resource Name (ARN) for the user that you want to learn + // about. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` - // This value specifies the location that files are written to or read from - // an Amazon S3 bucket for the user you specify by their ARN. + // Specifies the location that files are written to or read from an Amazon S3 + // bucket for the user you specify by their ARN. HomeDirectory *string `type:"string"` // The type of landing directory (folder) you mapped for your users' home directory. // If you set it to PATH, the user will see the absolute Amazon S3 bucket paths - // as is in their SFTP clients. If you set it LOGICAL, you will need to provide - // mappings in the HomeDirectoryMappings for how you want to make S3 paths visible - // to your user. + // as is in their file transfer protocol clients. If you set it LOGICAL, you + // will need to provide mappings in the HomeDirectoryMappings for how you want + // to make Amazon S3 paths visible to your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` // The role in use by this user. A role is an AWS Identity and Access Management - // (IAM) entity that, in this case, allows the SFTP server to act on a user's - // behalf. It allows the server to inherit the trust relationship that enables - // that user to perform file operations to their Amazon S3 bucket. + // (IAM) entity that, in this case, allows a file transfer protocol-enabled + // server to act on a user's behalf. It allows the server to inherit the trust + // relationship that enables that user to perform file operations to their Amazon + // S3 bucket. Role *string `min:"20" type:"string"` - // This value is the number of SSH public keys stored for the user you specified. + // The number of SSH public keys stored for the user you specified. SshPublicKeyCount *int64 `type:"integer"` // The name of the user whose ARN was specified. User names are used for authentication @@ -4060,7 +4211,7 @@ func (s *ResourceExistsException) RequestID() string { } // This exception is thrown when a resource is not found by the AWS Transfer -// for SFTP service. +// Family service. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4122,7 +4273,7 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// The request has failed because the AWS Transfer for SFTP service is not available. +// The request has failed because the AWS Transfer Family service is not available. type ServiceUnavailableException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4179,10 +4330,11 @@ func (s *ServiceUnavailableException) RequestID() string { } // Provides information about the public Secure Shell (SSH) key that is associated -// with a user account for a specific server (as identified by ServerId). The -// information returned includes the date the key was imported, the public key -// contents, and the public key ID. A user can store more than one SSH public -// key associated with their user name on a specific SFTP server. +// with a user account for the specific file transfer protocol-enabled server +// (as identified by ServerId). The information returned includes the date the +// key was imported, the public key contents, and the public key ID. A user +// can store more than one SSH public key associated with their user name on +// a specific server. type SshPublicKey struct { _ struct{} `type:"structure"` @@ -4233,7 +4385,8 @@ func (s *SshPublicKey) SetSshPublicKeyId(v string) *SshPublicKey { type StartServerInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server that you start. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server that you start. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -4288,7 +4441,8 @@ func (s StartServerOutput) GoString() string { type StopServerInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server that you stopped. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server that you stopped. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -4354,8 +4508,7 @@ type Tag struct { // Key is a required field Key *string `type:"string" required:"true"` - // This property contains one or more values that you assigned to the key name - // you create. + // Contains one or more values that you assigned to the key name you create. // // Value is a required field Value *string `type:"string" required:"true"` @@ -4487,13 +4640,25 @@ func (s TagResourceOutput) GoString() string { type TestIdentityProviderInput struct { _ struct{} `type:"structure"` - // A system-assigned identifier for a specific server. That server's user authentication - // method is tested with a user name and password. + // A system-assigned identifier for a specific file transfer protocol-enabled + // server. That server's user authentication method is tested with a user name + // and password. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // This request parameter is the name of the user account to be tested. + // The type of file transfer protocol to be tested. + // + // The available protocols are: + // + // * Secure Shell (SSH) File Transfer Protocol (SFTP) + // + // * File Transfer Protocol Secure (FTPS) + // + // * File Transfer Protocol (FTP) + ServerProtocol *string `type:"string" enum:"Protocol"` + + // The name of the user account to be tested. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -4540,6 +4705,12 @@ func (s *TestIdentityProviderInput) SetServerId(v string) *TestIdentityProviderI return s } +// SetServerProtocol sets the ServerProtocol field's value. +func (s *TestIdentityProviderInput) SetServerProtocol(v string) *TestIdentityProviderInput { + s.ServerProtocol = &v + return s +} + // SetUserName sets the UserName field's value. func (s *TestIdentityProviderInput) SetUserName(v string) *TestIdentityProviderInput { s.UserName = &v @@ -4669,9 +4840,9 @@ func (s *ThrottlingException) RequestID() string { type UntagResourceInput struct { _ struct{} `type:"structure"` - // This is the value of the resource that will have the tag removed. An Amazon - // Resource Name (ARN) is an identifier for a specific AWS resource, such as - // a server, user, or role. + // The value of the resource that will have the tag removed. An Amazon Resource + // Name (ARN) is an identifier for a specific AWS resource, such as a server, + // user, or role. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` @@ -4745,40 +4916,56 @@ func (s UntagResourceOutput) GoString() string { type UpdateServerInput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. + // Required when Protocols is set to FTPS. + Certificate *string `type:"string"` + // The virtual private cloud (VPC) endpoint settings that are configured for - // your SFTP server. With a VPC endpoint, you can restrict access to your SFTP - // server to resources only within your VPC. To control incoming internet traffic, - // you will need to associate one or more Elastic IP addresses with your server's - // endpoint. + // your file transfer protocol-enabled server. With a VPC endpoint, you can + // restrict access to your server to resources only within your VPC. To control + // incoming internet traffic, you will need to associate one or more Elastic + // IP addresses with your server's endpoint. EndpointDetails *EndpointDetails `type:"structure"` - // The type of endpoint that you want your SFTP server to connect to. You can - // choose to connect to the public internet or a virtual private cloud (VPC) - // endpoint. With a VPC endpoint, your SFTP server isn't accessible over the - // public internet. + // The type of endpoint that you want your file transfer protocol-enabled server + // to connect to. You can choose to connect to the public internet or a VPC + // endpoint. With a VPC endpoint, your server isn't accessible over the public + // internet. EndpointType *string `type:"string" enum:"EndpointType"` // The RSA private key as generated by ssh-keygen -N "" -f my-new-server-key. // - // If you aren't planning to migrate existing users from an existing SFTP server - // to a new AWS SFTP server, don't update the host key. Accidentally changing - // a server's host key can be disruptive. + // If you aren't planning to migrate existing users from an existing file transfer + // protocol-enabled server to a new server, don't update the host key. Accidentally + // changing a server's host key can be disruptive. // - // For more information, see "https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key" - // in the AWS SFTP User Guide. + // For more information, see Changing the Host Key for Your AWS Transfer Family + // Server (https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key) + // in the AWS Transfer Family User Guide. HostKey *string `type:"string" sensitive:"true"` - // This response parameter is an array containing all of the information required - // to call a customer's authentication API method. + // An array containing all of the information required to call a customer's + // authentication API method. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` - // A value that changes the AWS Identity and Access Management (IAM) role that - // allows Amazon S3 events to be logged in Amazon CloudWatch, turning logging - // on or off. + // Changes the AWS Identity and Access Management (IAM) role that allows Amazon + // S3 events to be logged in Amazon CloudWatch, turning logging on or off. LoggingRole *string `type:"string"` - // A system-assigned unique identifier for an SFTP server instance that the - // user account is assigned to. + // Specifies the file transfer protocol or protocols over which your file transfer + // protocol client can connect to your server's endpoint. The available protocols + // are: + // + // * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over + // SSH + // + // * File Transfer Protocol Secure (FTPS): File transfer with TLS encryption + // + // * File Transfer Protocol (FTP): Unencrypted file transfer + Protocols []*string `min:"1" type:"list"` + + // A system-assigned unique identifier for a file transfer protocol-enabled + // server instance that the user account is assigned to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -4797,6 +4984,9 @@ func (s UpdateServerInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateServerInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateServerInput"} + if s.Protocols != nil && len(s.Protocols) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Protocols", 1)) + } if s.ServerId == nil { invalidParams.Add(request.NewErrParamRequired("ServerId")) } @@ -4820,6 +5010,12 @@ func (s *UpdateServerInput) Validate() error { return nil } +// SetCertificate sets the Certificate field's value. +func (s *UpdateServerInput) SetCertificate(v string) *UpdateServerInput { + s.Certificate = &v + return s +} + // SetEndpointDetails sets the EndpointDetails field's value. func (s *UpdateServerInput) SetEndpointDetails(v *EndpointDetails) *UpdateServerInput { s.EndpointDetails = v @@ -4850,6 +5046,12 @@ func (s *UpdateServerInput) SetLoggingRole(v string) *UpdateServerInput { return s } +// SetProtocols sets the Protocols field's value. +func (s *UpdateServerInput) SetProtocols(v []*string) *UpdateServerInput { + s.Protocols = v + return s +} + // SetServerId sets the ServerId field's value. func (s *UpdateServerInput) SetServerId(v string) *UpdateServerInput { s.ServerId = &v @@ -4859,8 +5061,8 @@ func (s *UpdateServerInput) SetServerId(v string) *UpdateServerInput { type UpdateServerOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server that the user account - // is assigned to. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server that the user account is assigned to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -4885,40 +5087,43 @@ func (s *UpdateServerOutput) SetServerId(v string) *UpdateServerOutput { type UpdateUserInput struct { _ struct{} `type:"structure"` - // A parameter that specifies the landing directory (folder) for a user when - // they log in to the server using their client. + // Specifies the landing directory (folder) for a user when they log in to the + // file transfer protocol-enabled server using their file transfer protocol + // client. // - // An example is /home/username. + // An example is your-Amazon-S3-bucket-name>/home/username. HomeDirectory *string `type:"string"` - // Logical directory mappings that specify what S3 paths and keys should be - // visible to your user and how you want to make them visible. You will need + // Logical directory mappings that specify what Amazon S3 paths and keys should + // be visible to your user and how you want to make them visible. You will need // to specify the "Entry" and "Target" pair, where Entry shows how the path - // is made visible and Target is the actual S3 path. If you only specify a target, - // it will be displayed as is. You will need to also make sure that your AWS - // IAM Role provides access to paths in Target. The following is an example. + // is made visible and Target is the actual Amazon S3 path. If you only specify + // a target, it will be displayed as is. You will need to also make sure that + // your AWS IAM Role provides access to paths in Target. The following is an + // example. // // '[ "/bucket2/documentation", { "Entry": "your-personal-report.pdf", "Target": // "/bucket3/customized-reports/${transfer:UserName}.pdf" } ]' // - // In most cases, you can use this value instead of the scope down policy to + // In most cases, you can use this value instead of the scope-down policy to // lock your user down to the designated home directory ("chroot"). To do this, // you can set Entry to '/' and set Target to the HomeDirectory parameter value. // - // If the target of a logical directory entry does not exist in S3, the entry - // will be ignored. As a workaround, you can use the S3 api to create 0 byte - // objects as place holders for your directory. If using the CLI, use the s3api - // call instead of s3 so you can use the put-object operation. For example, - // you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. - // Make sure that the end of the key name ends in a / for it to be considered - // a folder. + // If the target of a logical directory entry does not exist in Amazon S3, the + // entry will be ignored. As a workaround, you can use the Amazon S3 api to + // create 0 byte objects as place holders for your directory. If using the CLI, + // use the s3api call instead of s3 so you can use the put-object operation. + // For example, you use the following: aws s3api put-object --bucket bucketname + // --key path/to/folder/. Make sure that the end of the key name ends in a / + // for it to be considered a folder. HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` // The type of landing directory (folder) you want your users' home directory - // to be when they log into the SFTP serve. If you set it to PATH, the user - // will see the absolute Amazon S3 bucket paths as is in their SFTP clients. - // If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings - // for how you want to make S3 paths visible to your user. + // to be when they log into the file transfer protocol-enabled server. If you + // set it to PATH, the user will see the absolute Amazon S3 bucket paths as + // is in their file transfer protocol clients. If you set it LOGICAL, you will + // need to provide mappings in the HomeDirectoryMappings for how you want to + // make Amazon S3 paths visible to your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` // Allows you to supply a scope-down policy for your user so you can use the @@ -4927,36 +5132,36 @@ type UpdateUserInput struct { // Variables you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, // and ${Transfer:HomeBucket}. // - // For scope-down policies, AWS Transfer for SFTP stores the policy as a JSON + // For scope-down policies, AWS Transfer Family stores the policy as a JSON // blob, instead of the Amazon Resource Name (ARN) of the policy. You save the // policy as a JSON blob and pass it in the Policy argument. // - // For an example of a scope-down policy, see "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down">Creating - // a Scope-Down Policy. + // For an example of a scope-down policy, see Creating a Scope-Down Policy (https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down). // - // For more information, see "https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html" + // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) // in the AWS Security Token Service API Reference. Policy *string `type:"string"` - // The IAM role that controls your user's access to your Amazon S3 bucket. The + // The IAM role that controls your users' access to your Amazon S3 bucket. The // policies attached to this role will determine the level of access you want // to provide your users when transferring files into and out of your Amazon // S3 bucket or buckets. The IAM role should also contain a trust relationship - // that allows the Secure File Transfer Protocol (SFTP) server to access your - // resources when servicing your SFTP user's transfer requests. + // that allows the file transfer protocol-enabled server to access your resources + // when servicing your users' transfer requests. Role *string `min:"20" type:"string"` - // A system-assigned unique identifier for an SFTP server instance that the - // user account is assigned to. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server instance that the user account is assigned to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // A unique string that identifies a user and is associated with a server as - // specified by the ServerId. This is the string that will be used by your user - // when they log in to your SFTP server. This user name is a minimum of 3 and - // a maximum of 32 characters long. The following are valid characters: a-z, - // A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen. + // A unique string that identifies a user and is associated with a file transfer + // protocol-enabled server as specified by the ServerId. This is the string + // that will be used by your user when they log in to your server. This user + // name is a minimum of 3 and a maximum of 32 characters long. The following + // are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name + // can't start with a hyphen. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -5052,19 +5257,19 @@ func (s *UpdateUserInput) SetUserName(v string) *UpdateUserInput { return s } -// UpdateUserResponse returns the user name and server identifier for the request -// to update a user's properties. +// UpdateUserResponse returns the user name and file transfer protocol-enabled +// server identifier for the request to update a user's properties. type UpdateUserOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for an SFTP server instance that the - // user account is assigned to. + // A system-assigned unique identifier for a file transfer protocol-enabled + // server instance that the user account is assigned to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // The unique identifier for a user that is assigned to the SFTP server instance - // that was specified in the request. + // The unique identifier for a user that is assigned to a file transfer protocol-enabled + // server instance that was specified in the request. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -5112,10 +5317,11 @@ const ( ) // Returns information related to the type of user authentication that is in -// use for a server's users. For SERVICE_MANAGED authentication, the Secure -// Shell (SSH) public keys are stored with a user on an SFTP server instance. -// For API_GATEWAY authentication, your custom authentication method is implemented -// by using an API call. A server can have only one method of authentication. +// use for a file transfer protocol-enabled server's users. For SERVICE_MANAGED +// authentication, the Secure Shell (SSH) public keys are stored with a user +// on the server instance. For API_GATEWAY authentication, your custom authentication +// method is implemented by using an API call. The server can have only one +// method of authentication. const ( // IdentityProviderTypeServiceManaged is a IdentityProviderType enum value IdentityProviderTypeServiceManaged = "SERVICE_MANAGED" @@ -5124,15 +5330,26 @@ const ( IdentityProviderTypeApiGateway = "API_GATEWAY" ) -// Describes the condition of the SFTP server with respect to its ability to -// perform file operations. There are six possible states: OFFLINE, ONLINE, -// STARTING, STOPPING, START_FAILED, and STOP_FAILED. +const ( + // ProtocolSftp is a Protocol enum value + ProtocolSftp = "SFTP" + + // ProtocolFtp is a Protocol enum value + ProtocolFtp = "FTP" + + // ProtocolFtps is a Protocol enum value + ProtocolFtps = "FTPS" +) + +// Describes the condition of a file transfer protocol-enabled server with respect +// to its ability to perform file operations. There are six possible states: +// OFFLINE, ONLINE, STARTING, STOPPING, START_FAILED, and STOP_FAILED. // -// OFFLINE indicates that the SFTP server exists, but that it is not available -// for file operations. ONLINE indicates that the SFTP server is available to -// perform file operations. STARTING indicates that the SFTP server's was instantiated, -// but the server is not yet available to perform file operations. Under normal -// conditions, it can take a couple of minutes for an SFTP server to be completely +// OFFLINE indicates that the server exists, but that it is not available for +// file operations. ONLINE indicates that the server is available to perform +// file operations. STARTING indicates that the server's was instantiated, but +// the server is not yet available to perform file operations. Under normal +// conditions, it can take a couple of minutes for the server to be completely // operational. Both START_FAILED and STOP_FAILED are error conditions. const ( // StateOffline is a State enum value diff --git a/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go b/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go index 51a9c01b3df1..407175dd2226 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go @@ -1,18 +1,19 @@ // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. // Package transfer provides the client and types for making API -// requests to AWS Transfer for SFTP. -// -// AWS Transfer for SFTP is a fully managed service that enables the transfer -// of files directly into and out of Amazon S3 using the Secure File Transfer -// Protocol (SFTP)—also known as Secure Shell (SSH) File Transfer Protocol. -// AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer -// for SFTP—by integrating with existing authentication systems, and providing -// DNS routing with Amazon Route 53—so nothing changes for your customers -// and partners, or their applications. With your data in S3, you can use it -// with AWS services for processing, analytics, machine learning, and archiving. -// Getting started with AWS Transfer for SFTP (AWS SFTP) is easy; there is no -// infrastructure to buy and set up. +// requests to AWS Transfer Family. +// +// AWS Transfer Family is a fully managed service that enables the transfer +// of files over the the File Transfer Protocol (FTP), File Transfer Protocol +// over SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly +// into and out of Amazon Simple Storage Service (Amazon S3). AWS helps you +// seamlessly migrate your file transfer workflows to AWS Transfer Family by +// integrating with existing authentication systems, and providing DNS routing +// with Amazon Route 53 so nothing changes for your customers and partners, +// or their applications. With your data in Amazon S3, you can use it with AWS +// services for processing, analytics, machine learning, and archiving. Getting +// started with AWS Transfer Family is easy since there is no infrastructure +// to buy and set up. // // See https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05 for more information on this service. // @@ -21,7 +22,7 @@ // // Using the Client // -// To contact AWS Transfer for SFTP with the SDK use the New function to create +// To contact AWS Transfer Family with the SDK use the New function to create // a new service client. With that client you can make API requests to the service. // These clients are safe to use concurrently. // @@ -31,7 +32,7 @@ // See aws.Config documentation for more information on configuring SDK clients. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // -// See the AWS Transfer for SFTP client Transfer for more +// See the AWS Transfer Family client Transfer for more // information on creating client for this service. // https://docs.aws.amazon.com/sdk-for-go/api/service/transfer/#New package transfer diff --git a/vendor/github.com/aws/aws-sdk-go/service/transfer/errors.go b/vendor/github.com/aws/aws-sdk-go/service/transfer/errors.go index 0aef6abd4dc2..d4a863ac52f4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/transfer/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/transfer/errors.go @@ -8,18 +8,24 @@ import ( const ( + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You do not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeConflictException for service response error code // "ConflictException". // - // This exception is thrown when the UpdatServer is called for a server that - // has VPC as the endpoint type and the server's VpcEndpointID is not in the - // available state. + // This exception is thrown when the UpdatServer is called for a file transfer + // protocol-enabled server that has VPC as the endpoint type and the server's + // VpcEndpointID is not in the available state. ErrCodeConflictException = "ConflictException" // ErrCodeInternalServiceError for service response error code // "InternalServiceError". // - // This exception is thrown when an error occurs in the AWS Transfer for SFTP + // This exception is thrown when an error occurs in the AWS Transfer Family // service. ErrCodeInternalServiceError = "InternalServiceError" @@ -45,13 +51,13 @@ const ( // "ResourceNotFoundException". // // This exception is thrown when a resource is not found by the AWS Transfer - // for SFTP service. + // Family service. ErrCodeResourceNotFoundException = "ResourceNotFoundException" // ErrCodeServiceUnavailableException for service response error code // "ServiceUnavailableException". // - // The request has failed because the AWS Transfer for SFTP service is not available. + // The request has failed because the AWS Transfer Family service is not available. ErrCodeServiceUnavailableException = "ServiceUnavailableException" // ErrCodeThrottlingException for service response error code @@ -64,6 +70,7 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, "ConflictException": newErrorConflictException, "InternalServiceError": newErrorInternalServiceError, "InvalidNextTokenException": newErrorInvalidNextTokenException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/transfer/service.go b/vendor/github.com/aws/aws-sdk-go/service/transfer/service.go index 639b4da4dc2d..3c51a21dd733 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/transfer/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/transfer/service.go @@ -13,7 +13,7 @@ import ( ) // Transfer provides the API operation methods for making requests to -// AWS Transfer for SFTP. See this package's package overview docs +// AWS Transfer Family. See this package's package overview docs // for details on the service. // // Transfer methods are safe to use concurrently. It is not safe to diff --git a/vendor/modules.txt b/vendor/modules.txt index 325a22bd7953..646638ed47f7 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -23,7 +23,7 @@ github.com/apparentlymart/go-cidr/cidr github.com/apparentlymart/go-textseg/textseg # github.com/armon/go-radix v1.0.0 github.com/armon/go-radix -# github.com/aws/aws-sdk-go v1.30.12 +# github.com/aws/aws-sdk-go v1.30.14 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr