From c9ec25eebf8a5974e8761c2cd482ffff0de51684 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 10 May 2019 19:41:23 +0000 Subject: [PATCH] Update module aws/aws-sdk-go to v1.19.28 --- go.mod | 2 +- go.sum | 4 +- .../aws/aws-sdk-go/aws/endpoints/defaults.go | 57 +- .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../aws/aws-sdk-go/service/eks/api.go | 101 +- .../aws/aws-sdk-go/service/glue/api.go | 286 ++++-- .../service/kinesisanalytics/api.go | 955 ++++++++++++++++-- .../service/kinesisanalytics/doc.go | 10 + .../service/kinesisanalytics/errors.go | 15 +- .../service/kinesisanalyticsv2/api.go | 650 +++++++++++- .../service/kinesisanalyticsv2/doc.go | 6 +- .../service/kinesisanalyticsv2/errors.go | 8 + .../aws/aws-sdk-go/service/sagemaker/api.go | 232 +++-- .../aws-sdk-go/service/servicecatalog/api.go | 44 + .../aws/aws-sdk-go/service/sts/api.go | 595 +++++++---- vendor/modules.txt | 2 +- 16 files changed, 2447 insertions(+), 522 deletions(-) diff --git a/go.mod b/go.mod index 5e473db9a02..9c34377d314 100644 --- a/go.mod +++ b/go.mod @@ -1,7 +1,7 @@ module github.com/terraform-providers/terraform-provider-aws require ( - github.com/aws/aws-sdk-go v1.19.26 + github.com/aws/aws-sdk-go v1.19.28 github.com/beevik/etree v1.1.0 github.com/boombuler/barcode v1.0.0 // indirect github.com/client9/misspell v0.3.4 diff --git a/go.sum b/go.sum index 1c9d830b8c6..79dd3cdd448 100644 --- a/go.sum +++ b/go.sum @@ -49,8 +49,8 @@ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgI github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.16.36/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.19.18/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.19.26 h1:GavKlzJDfYQGoS4jn2F+KYYZlR8QEhrLPfpf8+oJhS4= -github.com/aws/aws-sdk-go v1.19.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.19.28 h1:u0KMC+Qv0YVyz8YR6mREEtslSPkdUMzXgDJFD5196O8= +github.com/aws/aws-sdk-go v1.19.28/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= 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/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index a7c5fc669e6..17ee7c7226a 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 @@ -662,6 +662,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1576,6 +1577,7 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1666,6 +1668,18 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "kafka": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "kinesis": service{ Endpoints: endpoints{ @@ -1691,11 +1705,16 @@ var awsPartition = partition{ "kinesisanalytics": service{ Endpoints: endpoints{ - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, }, }, "kinesisvideo": service{ @@ -2166,6 +2185,25 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "ram": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "rds": service{ Endpoints: endpoints{ @@ -3713,6 +3751,15 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "acm-pca": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "api.ecr": service{ Endpoints: endpoints{ 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 7beac6a789e..dfc3c822909 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.19.26" +const SDKVersion = "1.19.28" diff --git a/vendor/github.com/aws/aws-sdk-go/service/eks/api.go b/vendor/github.com/aws/aws-sdk-go/service/eks/api.go index 2856011408c..72b1b1f2bb2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/eks/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/eks/api.go @@ -57,10 +57,10 @@ func (c *EKS) CreateClusterRequest(input *CreateClusterInput) (req *request.Requ // Creates an Amazon EKS control plane. // // The Amazon EKS control plane consists of control plane instances that run -// the Kubernetes software, like etcd and the API server. The control plane +// the Kubernetes software, such as etcd and the API server. The control plane // runs in an account managed by AWS, and the Kubernetes API is exposed via // the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane -// is single-tenant and unique, and runs on its own set of Amazon EC2 instances. +// is single-tenant and unique and runs on its own set of Amazon EC2 instances. // // The cluster control plane is provisioned across multiple Availability Zones // and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS @@ -74,14 +74,14 @@ func (c *EKS) CreateClusterRequest(input *CreateClusterInput) (req *request.Requ // // You can use the endpointPublicAccess and endpointPrivateAccess parameters // to enable or disable public and private access to your cluster's Kubernetes -// API server endpoint. By default, public access is enabled and private access +// API server endpoint. By default, public access is enabled, and private access // is disabled. For more information, see Amazon EKS Cluster Endpoint Access // Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) // in the Amazon EKS User Guide. // // You can use the logging parameter to enable or disable exporting the Kubernetes // control plane logs for your cluster to CloudWatch Logs. By default, cluster -// control plane logs are not exported to CloudWatch Logs. For more information, +// control plane logs aren't exported to CloudWatch Logs. For more information, // see Amazon EKS Cluster Control Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) // in the Amazon EKS User Guide. // @@ -305,8 +305,8 @@ func (c *EKS) DescribeClusterRequest(input *DescribeClusterInput) (req *request. // API server. For more information, see Create a kubeconfig for Amazon EKS // (https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html). // -// The API server endpoint and certificate authority data are not available -// until the cluster reaches the ACTIVE state. +// The API server endpoint and certificate authority data aren't available until +// the cluster reaches the ACTIVE state. // // 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 @@ -682,15 +682,9 @@ func (c *EKS) UpdateClusterConfigRequest(input *UpdateClusterConfigInput) (req * // use to track the status of your cluster update with the DescribeUpdate API // operation. // -// You can use this API operation to enable or disable public and private access -// to your cluster's Kubernetes API server endpoint. By default, public access -// is enabled and private access is disabled. For more information, see Amazon -// EKS Cluster Endpoint Access Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) -// in the Amazon EKS User Guide. -// -// You can also use this API operation to enable or disable exporting the Kubernetes +// You can use this API operation to enable or disable exporting the Kubernetes // control plane logs for your cluster to CloudWatch Logs. By default, cluster -// control plane logs are not exported to CloudWatch Logs. For more information, +// control plane logs aren't exported to CloudWatch Logs. For more information, // see Amazon EKS Cluster Control Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) // in the Amazon EKS User Guide. // @@ -698,6 +692,15 @@ func (c *EKS) UpdateClusterConfigRequest(input *UpdateClusterConfigInput) (req * // to exported control plane logs. For more information, see Amazon CloudWatch // Pricing (http://aws.amazon.com/cloudwatch/pricing/). // +// You can also use this API operation to enable or disable public and private +// access to your cluster's Kubernetes API server endpoint. By default, public +// access is enabled, and private access is disabled. For more information, +// see Amazon EKS Cluster Endpoint Access Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) +// in the Amazon EKS User Guide. +// +// At this time, you can not update the subnets or security group IDs for an +// existing cluster. +// // Cluster updates are asynchronous, and they should finish within a few minutes. // During an update, the cluster status moves to UPDATING (this status transition // is eventually consistent). When the update is complete (either Failed or @@ -867,7 +870,7 @@ func (c *EKS) UpdateClusterVersionWithContext(ctx aws.Context, input *UpdateClus type Certificate struct { _ struct{} `type:"structure"` - // The base64 encoded certificate data required to communicate with your cluster. + // The Base64-encoded certificate data required to communicate with your cluster. // Add this to the certificate-authority-data section of the kubeconfig file // for your cluster. Data *string `locationName:"data" type:"string"` @@ -1029,7 +1032,7 @@ type CreateClusterInput struct { ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` // Enable or disable exporting the Kubernetes control plane logs for your cluster - // to CloudWatch Logs. By default, cluster control plane logs are not exported + // to CloudWatch Logs. By default, cluster control plane logs aren't exported // to CloudWatch Logs. For more information, see Amazon EKS Cluster Control // Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) // in the Amazon EKS User Guide. @@ -1049,7 +1052,7 @@ type CreateClusterInput struct { // see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) // and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) // in the Amazon EKS User Guide. You must specify at least two subnets. You - // may specify up to five security groups, but we recommend that you use a dedicated + // can specify up to five security groups, but we recommend that you use a dedicated // security group for your cluster control plane. // // ResourcesVpcConfig is a required field @@ -1063,8 +1066,8 @@ type CreateClusterInput struct { // RoleArn is a required field RoleArn *string `locationName:"roleArn" type:"string" required:"true"` - // The desired Kubernetes version for your cluster. If you do not specify a - // value here, the latest version available in Amazon EKS is used. + // The desired Kubernetes version for your cluster. If you don't specify a value + // here, the latest version available in Amazon EKS is used. Version *string `locationName:"version" type:"string"` } @@ -1374,24 +1377,24 @@ type ErrorDetail struct { // A brief description of the error. // - // * SubnetNotFound: One of the subnets associated with the cluster could - // not be found. + // * SubnetNotFound: We couldn't find one of the subnets associated with + // the cluster. // - // * SecurityGroupNotFound: One of the security groups associated with the - // cluster could not be found. + // * SecurityGroupNotFound: We couldn't find one of the security groups associated + // with the cluster. // // * EniLimitReached: You have reached the elastic network interface limit // for your account. // - // * IpNotAvailable: A subnet associated with the cluster does not have any + // * IpNotAvailable: A subnet associated with the cluster doesn't have any // free IP addresses. // - // * AccessDenied: You do not have permissions to perform the specified operation. + // * AccessDenied: You don't have permissions to perform the specified operation. // // * OperationNotPermitted: The service role associated with the cluster - // does not have the required access permissions for Amazon EKS. + // doesn't have the required access permissions for Amazon EKS. // - // * VpcIdNotFound: The VPC associated with the cluster could not be found. + // * VpcIdNotFound: We couldn't find the VPC associated with the cluster. ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"` // A more complete description of the error. @@ -1433,11 +1436,11 @@ type ListClustersInput struct { _ struct{} `type:"structure"` // The maximum number of cluster results returned by ListClusters in paginated - // output. When this parameter is used, ListClusters only returns maxResults - // results in a single page along with a nextToken response element. The remaining - // results of the initial request can be seen by sending another ListClusters + // output. When you use this parameter, ListClusters returns only maxResults + // results in a single page along with a nextToken response element. You can + // see the remaining results of the initial request by sending another ListClusters // request with the returned nextToken value. This value can be between 1 and - // 100. If this parameter is not used, then ListClusters returns up to 100 results + // 100. If you don't use this parameter, ListClusters returns up to 100 results // and a nextToken value if applicable. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -1446,7 +1449,7 @@ type ListClustersInput struct { // Pagination continues from the end of the previous results that returned the // nextToken value. // - // This token should be treated as an opaque identifier that is only used to + // This token should be treated as an opaque identifier that is used only to // retrieve the next items in a list and not for other programmatic purposes. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -1493,7 +1496,7 @@ type ListClustersOutput struct { Clusters []*string `locationName:"clusters" type:"list"` // The nextToken value to include in a future ListClusters request. When the - // results of a ListClusters request exceed maxResults, this value can be used + // results of a ListClusters request exceed maxResults, you can use this value // 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"` @@ -1525,15 +1528,15 @@ type ListUpdatesInput struct { _ struct{} `type:"structure"` // The maximum number of update results returned by ListUpdates in paginated - // output. When this parameter is used, ListUpdates only returns maxResults - // results in a single page along with a nextToken response element. The remaining - // results of the initial request can be seen by sending another ListUpdates + // output. When you use this parameter, ListUpdates returns only maxResults + // results in a single page along with a nextToken response element. You can + // see the remaining results of the initial request by sending another ListUpdates // request with the returned nextToken value. This value can be between 1 and - // 100. If this parameter is not used, then ListUpdates returns up to 100 results + // 100. If you don't use this parameter, ListUpdates returns up to 100 results // and a nextToken value if applicable. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The name of the Amazon EKS cluster for which to list updates. + // The name of the Amazon EKS cluster to list updates for. // // Name is a required field Name *string `location:"uri" locationName:"name" type:"string" required:"true"` @@ -1596,7 +1599,7 @@ type ListUpdatesOutput struct { _ struct{} `type:"structure"` // The nextToken value to include in a future ListUpdates request. When the - // results of a ListUpdates request exceed maxResults, this value can be used + // results of a ListUpdates request exceed maxResults, you can use this value // 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"` @@ -1632,10 +1635,10 @@ func (s *ListUpdatesOutput) SetUpdateIds(v []*string) *ListUpdatesOutput { type LogSetup struct { _ struct{} `type:"structure"` - // If a log type is enabled, then that log type exports its control plane logs - // to CloudWatch Logs. If a log type is not enabled, then that log type does - // not export its control plane logs. Each individual log type can be enabled - // or disabled independently. + // If a log type is enabled, that log type exports its control plane logs to + // CloudWatch Logs. If a log type isn't enabled, that log type doesn't export + // its control plane logs. Each individual log type can be enabled or disabled + // independently. Enabled *bool `locationName:"enabled" type:"boolean"` // The available cluster control plane log types. @@ -1765,7 +1768,7 @@ type UpdateClusterConfigInput struct { ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` // Enable or disable exporting the Kubernetes control plane logs for your cluster - // to CloudWatch Logs. By default, cluster control plane logs are not exported + // to CloudWatch Logs. By default, cluster control plane logs aren't exported // to CloudWatch Logs. For more information, see Amazon EKS Cluster Control // Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) // in the Amazon EKS User Guide. @@ -1984,7 +1987,7 @@ type VpcConfigRequest struct { // Set this value to true to enable private access for your cluster's Kubernetes // API server endpoint. If you enable private access, Kubernetes API requests - // from within your cluster's VPC will use the private VPC endpoint. The default + // from within your cluster's VPC use the private VPC endpoint. The default // value for this parameter is false, which disables private access for your // Kubernetes API server. For more information, see Amazon EKS Cluster Endpoint // Access Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) @@ -1993,7 +1996,7 @@ type VpcConfigRequest struct { // Set this value to false to disable public access for your cluster's Kubernetes // API server endpoint. If you disable public access, your cluster's Kubernetes - // API server can only receive requests from within the cluster VPC. The default + // API server can receive only requests from within the cluster VPC. The default // value for this parameter is true, which enables public access for your Kubernetes // API server. For more information, see Amazon EKS Cluster Endpoint Access // Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) @@ -2002,7 +2005,7 @@ type VpcConfigRequest struct { // Specify one or more security groups for the cross-account elastic network // interfaces that Amazon EKS creates to use to allow communication between - // your worker nodes and the Kubernetes control plane. If you do not specify + // your worker nodes and the Kubernetes control plane. If you don't specify // a security group, the default security group for your VPC is used. SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` @@ -2052,13 +2055,13 @@ type VpcConfigResponse struct { // This parameter indicates whether the Amazon EKS private API server endpoint // is enabled. If the Amazon EKS private API server endpoint is enabled, Kubernetes - // API requests that originate from within your cluster's VPC will use the private + // API requests that originate from within your cluster's VPC use the private // VPC endpoint instead of traversing the internet. EndpointPrivateAccess *bool `locationName:"endpointPrivateAccess" type:"boolean"` // This parameter indicates whether the Amazon EKS public API server endpoint // is enabled. If the Amazon EKS public API server endpoint is disabled, your - // cluster's Kubernetes API server can only receive requests that originate + // cluster's Kubernetes API server can receive only requests that originate // from within the cluster VPC. EndpointPublicAccess *bool `locationName:"endpointPublicAccess" type:"boolean"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go index e30b6047252..05ab29e544c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go @@ -1038,7 +1038,7 @@ func (c *Glue) CreateClassifierRequest(input *CreateClassifierInput) (req *reque // CreateClassifier API operation for AWS Glue. // -// Creates a classifier in the user's account. This may be a GrokClassifier, +// Creates a classifier in the user's account. This can be a GrokClassifier, // an XMLClassifier, a JsonClassifier, or a CsvClassifier, depending on which // field of the request is present. // @@ -2334,8 +2334,8 @@ func (c *Glue) DeleteCrawlerRequest(input *DeleteCrawlerInput) (req *request.Req // DeleteCrawler API operation for AWS Glue. // -// Removes a specified crawler from the Data Catalog, unless the crawler state -// is RUNNING. +// Removes a specified crawler from the AWS Glue Data Catalog, unless the crawler +// state is RUNNING. // // 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 @@ -10448,7 +10448,7 @@ func (s *BatchDeleteTableVersionOutput) SetErrors(v []*TableVersionError) *Batch type BatchGetCrawlersInput struct { _ struct{} `type:"structure"` - // A list of crawler names, which may be the names returned from the ListCrawlers + // A list of crawler names, which might be the names returned from the ListCrawlers // operation. // // CrawlerNames is a required field @@ -10490,7 +10490,7 @@ type BatchGetCrawlersOutput struct { // A list of crawler definitions. Crawlers []*Crawler `type:"list"` - // A list of names of crawlers not found. + // A list of names of crawlers that were not found. CrawlersNotFound []*string `type:"list"` } @@ -11025,7 +11025,7 @@ func (s *BatchStopJobRunSuccessfulSubmission) SetJobRunId(v string) *BatchStopJo return s } -// Specifies a table definition in the Data Catalog. +// Specifies a table definition in the AWS Glue Data Catalog. type CatalogEntry struct { _ struct{} `type:"structure"` @@ -11126,28 +11126,87 @@ func (s *CatalogImportStatus) SetImportedBy(v string) *CatalogImportStatus { return s } +// Specifies an AWS Glue Data Catalog target. +type CatalogTarget struct { + _ struct{} `type:"structure"` + + // The name of the database to be synchronized. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of the tables to be synchronized. + // + // Tables is a required field + Tables []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CatalogTarget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CatalogTarget) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CatalogTarget) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CatalogTarget"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Tables == nil { + invalidParams.Add(request.NewErrParamRequired("Tables")) + } + if s.Tables != nil && len(s.Tables) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tables", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CatalogTarget) SetDatabaseName(v string) *CatalogTarget { + s.DatabaseName = &v + return s +} + +// SetTables sets the Tables field's value. +func (s *CatalogTarget) SetTables(v []*string) *CatalogTarget { + s.Tables = v + return s +} + // Classifiers are triggered during a crawl task. A classifier checks whether -// a given file is in a format it can handle, and if it is, the classifier creates +// a given file is in a format it can handle. If it is, the classifier creates // a schema in the form of a StructType object that matches that data format. // -// You can use the standard classifiers that AWS Glue supplies, or you can write +// You can use the standard classifiers that AWS Glue provides, or you can write // your own classifiers to best categorize your data sources and specify the // appropriate schemas to use for them. A classifier can be a grok classifier, -// an XML classifier, a JSON classifier, or a custom CSV classifier as specified +// an XML classifier, a JSON classifier, or a custom CSV classifier, as specified // in one of the fields in the Classifier object. type Classifier struct { _ struct{} `type:"structure"` - // A CSVClassifier object. + // A classifier for comma-separated values (CSV). CsvClassifier *CsvClassifier `type:"structure"` - // A GrokClassifier object. + // A classifier that uses grok. GrokClassifier *GrokClassifier `type:"structure"` - // A JsonClassifier object. + // A classifier for JSON content. JsonClassifier *JsonClassifier `type:"structure"` - // An XMLClassifier object. + // A classifier for XML content. XMLClassifier *XMLClassifier `type:"structure"` } @@ -11303,7 +11362,7 @@ type CodeGenNode struct { // The line number of the node. LineNumber *int64 `type:"integer"` - // The type of node this is. + // The type of node that this is. // // NodeType is a required field NodeType *string `type:"string" required:"true"` @@ -11892,7 +11951,8 @@ func (s *ConnectionsList) SetConnections(v []*string) *ConnectionsList { type Crawler struct { _ struct{} `type:"structure"` - // A list of custom classifiers associated with the crawler. + // A list of UTF-8 strings that specify the custom classifiers that are associated + // with the crawler. Classifiers []*string `type:"list"` // Crawler configuration information. This versioned JSON string allows users @@ -11904,13 +11964,13 @@ type Crawler struct { // crawl began. CrawlElapsedTime *int64 `type:"long"` - // The name of the SecurityConfiguration structure to be used by this Crawler. + // The name of the SecurityConfiguration structure to be used by this crawler. CrawlerSecurityConfiguration *string `type:"string"` - // The time when the crawler was created. + // The time that the crawler was created. CreationTime *time.Time `type:"timestamp"` - // The database where metadata is written by this crawler. + // The name of the database in which the crawler's output is stored. DatabaseName *string `type:"string"` // A description of the crawler. @@ -11920,20 +11980,20 @@ type Crawler struct { // occurred. LastCrawl *LastCrawlInfo `type:"structure"` - // The time the crawler was last updated. + // The time that the crawler was last updated. LastUpdated *time.Time `type:"timestamp"` - // The crawler name. + // The name of the crawler. Name *string `min:"1" type:"string"` - // The IAM role (or ARN of an IAM role) used to access customer resources, such - // as data in Amazon S3. + // The Amazon Resource Name (ARN) of an IAM role that's used to access customer + // resources, such as Amazon Simple Storage Service (Amazon S3) data. Role *string `type:"string"` // For scheduled crawlers, the schedule when the crawler runs. Schedule *Schedule `type:"structure"` - // Sets the behavior when the crawler finds a changed or deleted object. + // The policy that specifies update and delete behaviors for the crawler. SchemaChangePolicy *SchemaChangePolicy `type:"structure"` // Indicates whether the crawler is running, or whether a run is pending. @@ -12153,13 +12213,16 @@ func (s *CrawlerMetrics) SetTimeLeftSeconds(v float64) *CrawlerMetrics { type CrawlerTargets struct { _ struct{} `type:"structure"` - // Specifies DynamoDB targets. + // Specifies AWS Glue Data Catalog targets. + CatalogTargets []*CatalogTarget `type:"list"` + + // Specifies Amazon DynamoDB targets. DynamoDBTargets []*DynamoDBTarget `type:"list"` // Specifies JDBC targets. JdbcTargets []*JdbcTarget `type:"list"` - // Specifies Amazon S3 targets. + // Specifies Amazon Simple Storage Service (Amazon S3) targets. S3Targets []*S3Target `type:"list"` } @@ -12173,6 +12236,32 @@ func (s CrawlerTargets) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CrawlerTargets) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CrawlerTargets"} + if s.CatalogTargets != nil { + for i, v := range s.CatalogTargets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CatalogTargets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogTargets sets the CatalogTargets field's value. +func (s *CrawlerTargets) SetCatalogTargets(v []*CatalogTarget) *CrawlerTargets { + s.CatalogTargets = v + return s +} + // SetDynamoDBTargets sets the DynamoDBTargets field's value. func (s *CrawlerTargets) SetDynamoDBTargets(v []*DynamoDBTarget) *CrawlerTargets { s.DynamoDBTargets = v @@ -12363,18 +12452,16 @@ type CreateCrawlerInput struct { // always override the default classifiers for a given classification. Classifiers []*string `type:"list"` - // Crawler configuration information. This versioned JSON string allows users - // to specify aspects of a crawler's behavior. For more information, see Configuring - // a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). + // The crawler configuration information. This versioned JSON string allows + // users to specify aspects of a crawler's behavior. For more information, see + // Configuring a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). Configuration *string `type:"string"` - // The name of the SecurityConfiguration structure to be used by this Crawler. + // The name of the SecurityConfiguration structure to be used by this crawler. CrawlerSecurityConfiguration *string `type:"string"` // The AWS Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*. - // - // DatabaseName is a required field - DatabaseName *string `type:"string" required:"true"` + DatabaseName *string `type:"string"` // A description of the new crawler. Description *string `type:"string"` @@ -12384,28 +12471,26 @@ type CreateCrawlerInput struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The IAM role (or ARN of an IAM role) used by the new crawler to access customer - // resources. + // The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new + // crawler to access customer resources. // // Role is a required field Role *string `type:"string" required:"true"` - // A cron expression used to specify the schedule (see Time-Based Schedules - // for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, you would specify: - // cron(15 12 * * ? *). + // A cron expression used to specify the schedule. For more information, see + // Time-Based Schedules for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, specify cron(15 12 + // * * ? *). Schedule *string `type:"string"` - // Policy for the crawler's update and deletion behavior. + // The policy for the crawler's update and deletion behavior. SchemaChangePolicy *SchemaChangePolicy `type:"structure"` // The table prefix used for catalog tables that are created. TablePrefix *string `type:"string"` - // The tags to use with this crawler request. You may use tags to limit access - // to the crawler. For more information about tags in AWS Glue, see AWS Tags - // in AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) - // in the developer guide. + // The tags to use with this crawler request. You can use tags to limit access + // to the crawler. For more information, see AWS Tags in AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html). Tags map[string]*string `type:"map"` // A list of collection of targets to crawl. @@ -12427,9 +12512,6 @@ func (s CreateCrawlerInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateCrawlerInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateCrawlerInput"} - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -12442,6 +12524,11 @@ func (s *CreateCrawlerInput) Validate() error { if s.Targets == nil { invalidParams.Add(request.NewErrParamRequired("Targets")) } + if s.Targets != nil { + if err := s.Targets.Validate(); err != nil { + invalidParams.AddNested("Targets", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -14103,9 +14190,9 @@ type CreateXMLClassifierRequest struct { Name *string `min:"1" type:"string" required:"true"` // The XML tag designating the element that contains each record in an XML document - // being parsed. Note that this cannot identify a self-closing element (closed - // by />). An empty row element that contains only attributes can be parsed - // as long as it ends with a closing tag (for example, + // being parsed. This can't identify a self-closing element (closed by />). + // An empty row element that contains only attributes can be parsed as long + // as it ends with a closing tag (for example, // is okay, but is not). RowTag *string `type:"string"` } @@ -14167,7 +14254,7 @@ type CsvClassifier struct { // Indicates whether the CSV file contains a header. ContainsHeader *string `type:"string" enum:"CsvHeaderOption"` - // The time this classifier was registered. + // The time that this classifier was registered. CreationTime *time.Time `type:"timestamp"` // A custom symbol to denote what separates each column entry in the row. @@ -14180,7 +14267,7 @@ type CsvClassifier struct { // A list of strings representing column names. Header []*string `type:"list"` - // The time this classifier was last updated. + // The time that this classifier was last updated. LastUpdated *time.Time `type:"timestamp"` // The name of the classifier. @@ -14189,7 +14276,7 @@ type CsvClassifier struct { Name *string `min:"1" type:"string" required:"true"` // A custom symbol to denote what combines content into a single column value. - // Must be different from the column delimiter. + // It must be different from the column delimiter. QuoteSymbol *string `min:"1" type:"string"` // The version of this classifier. @@ -14585,7 +14672,7 @@ func (s DeleteConnectionOutput) GoString() string { type DeleteCrawlerInput struct { _ struct{} `type:"structure"` - // Name of the crawler to remove. + // The name of the crawler to remove. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -15647,7 +15734,7 @@ func (s *DevEndpointCustomLibraries) SetExtraPythonLibsS3Path(v string) *DevEndp return s } -// Specifies a DynamoDB table to crawl. +// Specifies an Amazon DynamoDB table to crawl. type DynamoDBTarget struct { _ struct{} `type:"structure"` @@ -15950,7 +16037,7 @@ func (s *GetClassifierOutput) SetClassifier(v *Classifier) *GetClassifierOutput type GetClassifiersInput struct { _ struct{} `type:"structure"` - // Size of the list to return (optional). + // The size of the list to return (optional). MaxResults *int64 `min:"1" type:"integer"` // An optional continuation token. @@ -16266,7 +16353,7 @@ func (s *GetConnectionsOutput) SetNextToken(v string) *GetConnectionsOutput { type GetCrawlerInput struct { _ struct{} `type:"structure"` - // Name of the crawler to retrieve metadata for. + // The name of the crawler to retrieve metadata for. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -17674,7 +17761,7 @@ type GetPlanInput struct { // The programming language of the code to perform the mapping. Language *string `type:"string" enum:"Language"` - // Parameters for the mapping. + // The parameters for the mapping. Location *Location `type:"structure"` // The list of mappings from a source table to target tables. @@ -17773,7 +17860,7 @@ type GetPlanOutput struct { // A Python script to perform the mapping. PythonScript *string `type:"string"` - // Scala code to perform the mapping. + // The Scala code to perform the mapping. ScalaCode *string `type:"string"` } @@ -18901,20 +18988,20 @@ type GrokClassifier struct { // Classification is a required field Classification *string `type:"string" required:"true"` - // The time this classifier was registered. + // The time that this classifier was registered. CreationTime *time.Time `type:"timestamp"` // Optional custom grok patterns defined by this classifier. For more information, - // see custom patterns in Writing Custom Classifers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). + // see custom patterns in Writing Custom Classifiers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). CustomPatterns *string `type:"string"` // The grok pattern applied to a data store by this classifier. For more information, - // see built-in patterns in Writing Custom Classifers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). + // see built-in patterns in Writing Custom Classifiers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). // // GrokPattern is a required field GrokPattern *string `min:"1" type:"string" required:"true"` - // The time this classifier was last updated. + // The time that this classifier was last updated. LastUpdated *time.Time `type:"timestamp"` // The name of the classifier. @@ -19916,7 +20003,7 @@ func (s *JobUpdate) SetWorkerType(v string) *JobUpdate { type JsonClassifier struct { _ struct{} `type:"structure"` - // The time this classifier was registered. + // The time that this classifier was registered. CreationTime *time.Time `type:"timestamp"` // A JsonPath string defining the JSON data for the classifier to classify. @@ -19926,7 +20013,7 @@ type JsonClassifier struct { // JsonPath is a required field JsonPath *string `type:"string" required:"true"` - // The time this classifier was last updated. + // The time that this classifier was last updated. LastUpdated *time.Time `type:"timestamp"` // The name of the classifier. @@ -20416,13 +20503,13 @@ func (s *ListTriggersOutput) SetTriggerNames(v []*string) *ListTriggersOutput { type Location struct { _ struct{} `type:"structure"` - // A DynamoDB Table location. + // An Amazon DynamoDB table location. DynamoDB []*CodeGenNodeArg `type:"list"` // A JDBC location. Jdbc []*CodeGenNodeArg `type:"list"` - // An Amazon S3 location. + // An Amazon Simple Storage Service (Amazon S3) location. S3 []*CodeGenNodeArg `type:"list"` } @@ -21341,7 +21428,7 @@ func (s *S3Encryption) SetS3EncryptionMode(v string) *S3Encryption { return s } -// Specifies a data store in Amazon S3. +// Specifies a data store in Amazon Simple Storage Service (Amazon S3). type S3Target struct { _ struct{} `type:"structure"` @@ -21379,10 +21466,10 @@ func (s *S3Target) SetPath(v string) *S3Target { type Schedule struct { _ struct{} `type:"structure"` - // A cron expression used to specify the schedule (see Time-Based Schedules - // for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, you would specify: - // cron(15 12 * * ? *). + // A cron expression used to specify the schedule. For more information, see + // Time-Based Schedules for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, specify cron(15 12 + // * * ? *). ScheduleExpression *string `type:"string"` // The state of the schedule. @@ -21411,7 +21498,7 @@ func (s *Schedule) SetState(v string) *Schedule { return s } -// Crawler policy for update and deletion behavior. +// A policy that specifies update and deletion behaviors for the crawler. type SchemaChangePolicy struct { _ struct{} `type:"structure"` @@ -23328,12 +23415,12 @@ type UpdateCrawlerInput struct { // always override the default classifiers for a given classification. Classifiers []*string `type:"list"` - // Crawler configuration information. This versioned JSON string allows users - // to specify aspects of a crawler's behavior. For more information, see Configuring - // a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). + // The crawler configuration information. This versioned JSON string allows + // users to specify aspects of a crawler's behavior. For more information, see + // Configuring a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). Configuration *string `type:"string"` - // The name of the SecurityConfiguration structure to be used by this Crawler. + // The name of the SecurityConfiguration structure to be used by this crawler. CrawlerSecurityConfiguration *string `type:"string"` // The AWS Glue database where results are stored, such as: arn:aws:daylight:us-east-1::database/sometable/*. @@ -23347,17 +23434,17 @@ type UpdateCrawlerInput struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The IAM role (or ARN of an IAM role) used by the new crawler to access customer - // resources. + // The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by + // the new crawler to access customer resources. Role *string `type:"string"` - // A cron expression used to specify the schedule (see Time-Based Schedules - // for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, you would specify: - // cron(15 12 * * ? *). + // A cron expression used to specify the schedule. For more information, see + // Time-Based Schedules for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, specify cron(15 12 + // * * ? *). Schedule *string `type:"string"` - // Policy for the crawler's update and deletion behavior. + // The policy for the crawler's update and deletion behavior. SchemaChangePolicy *SchemaChangePolicy `type:"structure"` // The table prefix used for catalog tables that are created. @@ -23386,6 +23473,11 @@ func (s *UpdateCrawlerInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.Targets != nil { + if err := s.Targets.Validate(); err != nil { + invalidParams.AddNested("Targets", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -23476,15 +23568,15 @@ func (s UpdateCrawlerOutput) GoString() string { type UpdateCrawlerScheduleInput struct { _ struct{} `type:"structure"` - // Name of the crawler whose schedule to update. + // The name of the crawler whose schedule to update. // // CrawlerName is a required field CrawlerName *string `min:"1" type:"string" required:"true"` - // The updated cron expression used to specify the schedule (see Time-Based - // Schedules for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, you would specify: - // cron(15 12 * * ? *). + // The updated cron expression used to specify the schedule. For more information, + // see Time-Based Schedules for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, specify cron(15 12 + // * * ? *). Schedule *string `type:"string"` } @@ -23566,7 +23658,7 @@ type UpdateCsvClassifierRequest struct { Name *string `min:"1" type:"string" required:"true"` // A custom symbol to denote what combines content into a single column value. - // Must be different from the column delimiter. + // It must be different from the column delimiter. QuoteSymbol *string `min:"1" type:"string"` } @@ -24476,9 +24568,9 @@ type UpdateXMLClassifierRequest struct { Name *string `min:"1" type:"string" required:"true"` // The XML tag designating the element that contains each record in an XML document - // being parsed. Note that this cannot identify a self-closing element (closed - // by />). An empty row element that contains only attributes can be parsed - // as long as it ends with a closing tag (for example, + // being parsed. This cannot identify a self-closing element (closed by />). + // An empty row element that contains only attributes can be parsed as long + // as it ends with a closing tag (for example, // is okay, but is not). RowTag *string `type:"string"` } @@ -24694,10 +24786,10 @@ type XMLClassifier struct { // Classification is a required field Classification *string `type:"string" required:"true"` - // The time this classifier was registered. + // The time that this classifier was registered. CreationTime *time.Time `type:"timestamp"` - // The time this classifier was last updated. + // The time that this classifier was last updated. LastUpdated *time.Time `type:"timestamp"` // The name of the classifier. @@ -24706,9 +24798,9 @@ type XMLClassifier struct { Name *string `min:"1" type:"string" required:"true"` // The XML tag designating the element that contains each record in an XML document - // being parsed. Note that this cannot identify a self-closing element (closed - // by />). An empty row element that contains only attributes can be parsed - // as long as it ends with a closing tag (for example, + // being parsed. This can't identify a self-closing element (closed by />). + // An empty row element that contains only attributes can be parsed as long + // as it ends with a closing tag (for example, // is okay, but is not). RowTag *string `type:"string"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/api.go index dfcfe35293b..e0ede4911d5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/api.go @@ -58,9 +58,14 @@ func (c *KinesisAnalytics) AddApplicationCloudWatchLoggingOptionRequest(input *A // AddApplicationCloudWatchLoggingOption API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Adds a CloudWatch log stream to monitor application configuration errors. // For more information about using CloudWatch log streams with Amazon Kinesis -// Analytics applications, see Working with Amazon CloudWatch Logs (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). +// Analytics applications, see Working with Amazon CloudWatch Logs (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). // // 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 @@ -85,6 +90,8 @@ func (c *KinesisAnalytics) AddApplicationCloudWatchLoggingOptionRequest(input *A // same time. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationCloudWatchLoggingOption func (c *KinesisAnalytics) AddApplicationCloudWatchLoggingOption(input *AddApplicationCloudWatchLoggingOptionInput) (*AddApplicationCloudWatchLoggingOptionOutput, error) { @@ -153,15 +160,21 @@ func (c *KinesisAnalytics) AddApplicationInputRequest(input *AddApplicationInput // AddApplicationInput API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Adds a streaming source to your Amazon Kinesis application. For conceptual -// information, see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). +// information, see Configuring Application Input (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). // // You can add a streaming source either when you create an application or you // can use this operation to add a streaming source after you create an application. -// For more information, see CreateApplication. +// For more information, see CreateApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_CreateApplication.html). // // Any configuration update, including adding a streaming source using this // operation, results in a new version of the application. You can use the DescribeApplication +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) // operation to find the current application version. // // This operation requires permissions to perform the kinesisanalytics:AddApplicationInput @@ -194,6 +207,8 @@ func (c *KinesisAnalytics) AddApplicationInputRequest(input *AddApplicationInput // error. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationInput func (c *KinesisAnalytics) AddApplicationInput(input *AddApplicationInputInput) (*AddApplicationInputOutput, error) { @@ -262,9 +277,15 @@ func (c *KinesisAnalytics) AddApplicationInputProcessingConfigurationRequest(inp // AddApplicationInputProcessingConfiguration API operation for Amazon Kinesis Analytics. // -// Adds an InputProcessingConfiguration to an application. An input processor -// preprocesses records on the input stream before the application's SQL code -// executes. Currently, the only input processor available is AWS Lambda (https://aws.amazon.com/documentation/lambda/). +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// +// Adds an InputProcessingConfiguration (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html) +// to an application. An input processor preprocesses records on the input stream +// before the application's SQL code executes. Currently, the only input processor +// available is AWS Lambda (https://docs.aws.amazon.com/lambda/). // // 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 @@ -289,6 +310,8 @@ func (c *KinesisAnalytics) AddApplicationInputProcessingConfigurationRequest(inp // same time. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationInputProcessingConfiguration func (c *KinesisAnalytics) AddApplicationInputProcessingConfiguration(input *AddApplicationInputProcessingConfigurationInput) (*AddApplicationInputProcessingConfigurationOutput, error) { @@ -357,6 +380,11 @@ func (c *KinesisAnalytics) AddApplicationOutputRequest(input *AddApplicationOutp // AddApplicationOutput API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Adds an external destination to your Amazon Kinesis Analytics application. // // If you want Amazon Kinesis Analytics to deliver data from an in-application @@ -369,14 +397,15 @@ func (c *KinesisAnalytics) AddApplicationOutputRequest(input *AddApplicationOutp // You can use one of the output configurations to deliver data from your in-application // error stream to an external destination so that you can analyze the errors. // For more information, see Understanding Application Output (Destination) -// (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). // // Any configuration update, including adding a streaming source using this // operation, results in a new version of the application. You can use the DescribeApplication +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) // operation to find the current application version. // // For the limits on the number of application inputs and outputs you can configure, -// see Limits (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html). +// see Limits (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html). // // This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput // action. @@ -404,6 +433,8 @@ func (c *KinesisAnalytics) AddApplicationOutputRequest(input *AddApplicationOutp // same time. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationOutput func (c *KinesisAnalytics) AddApplicationOutput(input *AddApplicationOutputInput) (*AddApplicationOutputOutput, error) { @@ -472,6 +503,11 @@ func (c *KinesisAnalytics) AddApplicationReferenceDataSourceRequest(input *AddAp // AddApplicationReferenceDataSource API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Adds a reference data source to an existing application. // // Amazon Kinesis Analytics reads reference data (that is, an Amazon S3 object) @@ -481,9 +517,9 @@ func (c *KinesisAnalytics) AddApplicationReferenceDataSourceRequest(input *AddAp // describes how data in Amazon S3 object maps to columns in the resulting in-application // table. // -// For conceptual information, see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). +// For conceptual information, see Configuring Application Input (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). // For the limits on data sources you can add to your application, see Limits -// (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html). +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html). // // This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput // action. @@ -511,6 +547,8 @@ func (c *KinesisAnalytics) AddApplicationReferenceDataSourceRequest(input *AddAp // same time. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationReferenceDataSource func (c *KinesisAnalytics) AddApplicationReferenceDataSource(input *AddApplicationReferenceDataSourceInput) (*AddApplicationReferenceDataSourceOutput, error) { @@ -578,11 +616,16 @@ func (c *KinesisAnalytics) CreateApplicationRequest(input *CreateApplicationInpu // CreateApplication API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Creates an Amazon Kinesis Analytics application. You can configure each application // with one streaming source as input, application code to process the input, // and up to three destinations where you want Amazon Kinesis Analytics to write // the output data from your application. For an overview, see How it Works -// (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works.html). +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works.html). // // In the input configuration, you map the streaming source to an in-application // stream, which you can think of as a constantly updating table. In the mapping, @@ -602,7 +645,7 @@ func (c *KinesisAnalytics) CreateApplicationRequest(input *CreateApplicationInpu // kinesisanalytics:CreateApplication action. // // For introductory exercises to create an Amazon Kinesis Analytics application, -// see Getting Started (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/getting-started.html). +// see Getting Started (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/getting-started.html). // // 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 @@ -625,6 +668,16 @@ func (c *KinesisAnalytics) CreateApplicationRequest(input *CreateApplicationInpu // * ErrCodeInvalidArgumentException "InvalidArgumentException" // Specified input parameter value is invalid. // +// * ErrCodeTooManyTagsException "TooManyTagsException" +// Application created with too many tags, or too many tags added to an application. +// Note that the maximum number of application tags includes system tags. The +// maximum number of user-defined application tags is 50. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/CreateApplication func (c *KinesisAnalytics) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { req, out := c.CreateApplicationRequest(input) @@ -692,6 +745,11 @@ func (c *KinesisAnalytics) DeleteApplicationRequest(input *DeleteApplicationInpu // DeleteApplication API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Deletes the specified application. Amazon Kinesis Analytics halts application // execution and deletes the application, including any application artifacts // (such as in-application streams, reference table, and application code). @@ -719,6 +777,8 @@ func (c *KinesisAnalytics) DeleteApplicationRequest(input *DeleteApplicationInpu // Application is not available for this operation. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplication func (c *KinesisAnalytics) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { @@ -787,9 +847,14 @@ func (c *KinesisAnalytics) DeleteApplicationCloudWatchLoggingOptionRequest(input // DeleteApplicationCloudWatchLoggingOption API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Deletes a CloudWatch log stream from an application. For more information // about using CloudWatch log streams with Amazon Kinesis Analytics applications, -// see Working with Amazon CloudWatch Logs (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). +// see Working with Amazon CloudWatch Logs (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). // // 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 @@ -814,6 +879,8 @@ func (c *KinesisAnalytics) DeleteApplicationCloudWatchLoggingOptionRequest(input // same time. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationCloudWatchLoggingOption func (c *KinesisAnalytics) DeleteApplicationCloudWatchLoggingOption(input *DeleteApplicationCloudWatchLoggingOptionInput) (*DeleteApplicationCloudWatchLoggingOptionOutput, error) { @@ -882,7 +949,13 @@ func (c *KinesisAnalytics) DeleteApplicationInputProcessingConfigurationRequest( // DeleteApplicationInputProcessingConfiguration API operation for Amazon Kinesis Analytics. // -// Deletes an InputProcessingConfiguration from an input. +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// +// Deletes an InputProcessingConfiguration (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html) +// from an input. // // 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 @@ -907,6 +980,8 @@ func (c *KinesisAnalytics) DeleteApplicationInputProcessingConfigurationRequest( // same time. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationInputProcessingConfiguration func (c *KinesisAnalytics) DeleteApplicationInputProcessingConfiguration(input *DeleteApplicationInputProcessingConfigurationInput) (*DeleteApplicationInputProcessingConfigurationOutput, error) { @@ -975,6 +1050,11 @@ func (c *KinesisAnalytics) DeleteApplicationOutputRequest(input *DeleteApplicati // DeleteApplicationOutput API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Deletes output destination configuration from your application configuration. // Amazon Kinesis Analytics will no longer write data from the corresponding // in-application stream to the external output destination. @@ -1005,6 +1085,8 @@ func (c *KinesisAnalytics) DeleteApplicationOutputRequest(input *DeleteApplicati // same time. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationOutput func (c *KinesisAnalytics) DeleteApplicationOutput(input *DeleteApplicationOutputInput) (*DeleteApplicationOutputOutput, error) { @@ -1073,11 +1155,17 @@ func (c *KinesisAnalytics) DeleteApplicationReferenceDataSourceRequest(input *De // DeleteApplicationReferenceDataSource API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Deletes a reference data source configuration from the specified application // configuration. // // If the application is running, Amazon Kinesis Analytics immediately removes // the in-application table that you created using the AddApplicationReferenceDataSource +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_AddApplicationReferenceDataSource.html) // operation. // // This operation requires permissions to perform the kinesisanalytics.DeleteApplicationReferenceDataSource @@ -1106,6 +1194,8 @@ func (c *KinesisAnalytics) DeleteApplicationReferenceDataSourceRequest(input *De // same time. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DeleteApplicationReferenceDataSource func (c *KinesisAnalytics) DeleteApplicationReferenceDataSource(input *DeleteApplicationReferenceDataSourceInput) (*DeleteApplicationReferenceDataSourceOutput, error) { @@ -1173,10 +1263,16 @@ func (c *KinesisAnalytics) DescribeApplicationRequest(input *DescribeApplication // DescribeApplication API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Returns information about a specific Amazon Kinesis Analytics application. // // If you want to retrieve a list of all applications in your account, use the -// ListApplications operation. +// ListApplications (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_ListApplications.html) +// operation. // // This operation requires permissions to perform the kinesisanalytics:DescribeApplication // action. You can use DescribeApplication to get the current application versionId, @@ -1194,6 +1290,8 @@ func (c *KinesisAnalytics) DescribeApplicationRequest(input *DescribeApplication // Specified application can't be found. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/DescribeApplication func (c *KinesisAnalytics) DescribeApplication(input *DescribeApplicationInput) (*DescribeApplicationOutput, error) { @@ -1261,6 +1359,11 @@ func (c *KinesisAnalytics) DiscoverInputSchemaRequest(input *DiscoverInputSchema // DiscoverInputSchema API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Infers a schema by evaluating sample records on the specified streaming source // (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream) or S3 // object. In the response, the operation returns the inferred schema and also @@ -1268,7 +1371,7 @@ func (c *KinesisAnalytics) DiscoverInputSchemaRequest(input *DiscoverInputSchema // // You can use the inferred schema when configuring a streaming source for your // application. For conceptual information, see Configuring Application Input -// (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). // Note that when you create an application using the Amazon Kinesis Analytics // console, the console uses this operation to infer a schema and show it in // the console user interface. @@ -1294,8 +1397,8 @@ func (c *KinesisAnalytics) DiscoverInputSchemaRequest(input *DiscoverInputSchema // * ErrCodeResourceProvisionedThroughputExceededException "ResourceProvisionedThroughputExceededException" // Discovery failed to get a record from the streaming source because of the // Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, -// see GetRecords (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) -// in the Amazon Kinesis Streams API Reference. +// see GetRecords (kinesis/latest/APIReference/API_GetRecords.html) in the Amazon +// Kinesis Streams API Reference. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The service is unavailable. Back off and retry the operation. @@ -1366,6 +1469,11 @@ func (c *KinesisAnalytics) ListApplicationsRequest(input *ListApplicationsInput) // ListApplications API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Returns a list of Amazon Kinesis Analytics applications in your account. // For each application, the response includes the application name, Amazon // Resource Name (ARN), and status. If the response returns the HasMoreApplications @@ -1373,7 +1481,8 @@ func (c *KinesisAnalytics) ListApplicationsRequest(input *ListApplicationsInput) // in the request body, and set the value of this to the last application name // from the previous response. // -// If you want detailed information about a specific application, use DescribeApplication. +// If you want detailed information about a specific application, use DescribeApplication +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html). // // This operation requires permissions to perform the kinesisanalytics:ListApplications // action. @@ -1406,6 +1515,93 @@ func (c *KinesisAnalytics) ListApplicationsWithContext(ctx aws.Context, input *L return out, req.Send() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource +// 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 ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ListTagsForResource +func (c *KinesisAnalytics) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Kinesis Analytics. +// +// Retrieves the list of key-value tags assigned to the application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// Specified input parameter value is invalid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/ListTagsForResource +func (c *KinesisAnalytics) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource 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 *KinesisAnalytics) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartApplication = "StartApplication" // StartApplicationRequest generates a "aws/request.Request" representing the @@ -1451,6 +1647,11 @@ func (c *KinesisAnalytics) StartApplicationRequest(input *StartApplicationInput) // StartApplication API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Starts the specified Amazon Kinesis Analytics application. After creating // an application, you must exclusively call this operation to start your application. // @@ -1459,10 +1660,12 @@ func (c *KinesisAnalytics) StartApplicationRequest(input *StartApplicationInput) // // The application status must be READY for you to start an application. You // can get the application status in the console or using the DescribeApplication +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) // operation. // // After you start the application, you can stop the application from processing -// the input by calling the StopApplication operation. +// the input by calling the StopApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_StopApplication.html) +// operation. // // This operation requires permissions to perform the kinesisanalytics:StartApplication // action. @@ -1488,6 +1691,8 @@ func (c *KinesisAnalytics) StartApplicationRequest(input *StartApplicationInput) // User-provided application configuration is not valid. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/StartApplication func (c *KinesisAnalytics) StartApplication(input *StartApplicationInput) (*StartApplicationOutput, error) { @@ -1556,11 +1761,16 @@ func (c *KinesisAnalytics) StopApplicationRequest(input *StopApplicationInput) ( // StopApplication API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Stops the application from processing input data. You can stop an application -// only if it is in the running state. You can use the DescribeApplication operation -// to find the application state. After the application is stopped, Amazon Kinesis -// Analytics stops reading data from the input, the application stops processing -// data, and there is no output written to the destination. +// only if it is in the running state. You can use the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) +// operation to find the application state. After the application is stopped, +// Amazon Kinesis Analytics stops reading data from the input, the application +// stops processing data, and there is no output written to the destination. // // This operation requires permissions to perform the kinesisanalytics:StopApplication // action. @@ -1580,6 +1790,8 @@ func (c *KinesisAnalytics) StopApplicationRequest(input *StopApplicationInput) ( // Application is not available for this operation. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/StopApplication func (c *KinesisAnalytics) StopApplication(input *StopApplicationInput) (*StopApplicationOutput, error) { @@ -1603,6 +1815,200 @@ func (c *KinesisAnalytics) StopApplicationWithContext(ctx aws.Context, input *St return out, req.Send() } +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource 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 TagResource for more information on using the TagResource +// 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 TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/TagResource +func (c *KinesisAnalytics) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Kinesis Analytics. +// +// Adds one or more key-value tags to a Kinesis Analytics application. Note +// that the maximum number of application tags includes system tags. The maximum +// number of user-defined application tags is 50. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// Application is not available for this operation. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// Application created with too many tags, or too many tags added to an application. +// Note that the maximum number of application tags includes system tags. The +// maximum number of user-defined application tags is 50. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// Specified input parameter value is invalid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/TagResource +func (c *KinesisAnalytics) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource 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 *KinesisAnalytics) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/UntagResource +func (c *KinesisAnalytics) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Kinesis Analytics. +// +// Removes one or more tags from a Kinesis Analytics application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// Application is not available for this operation. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// Application created with too many tags, or too many tags added to an application. +// Note that the maximum number of application tags includes system tags. The +// maximum number of user-defined application tags is 50. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// Specified input parameter value is invalid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/UntagResource +func (c *KinesisAnalytics) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource 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 *KinesisAnalytics) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateApplication = "UpdateApplication" // UpdateApplicationRequest generates a "aws/request.Request" representing the @@ -1648,6 +2054,11 @@ func (c *KinesisAnalytics) UpdateApplicationRequest(input *UpdateApplicationInpu // UpdateApplication API operation for Amazon Kinesis Analytics. // +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Updates an existing Amazon Kinesis Analytics application. Using this API, // you can update application code, input configuration, and output configuration. // @@ -1684,6 +2095,8 @@ func (c *KinesisAnalytics) UpdateApplicationRequest(input *UpdateApplicationInpu // same time. // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/UpdateApplication func (c *KinesisAnalytics) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { @@ -1810,12 +2223,14 @@ type AddApplicationInputInput struct { ApplicationName *string `min:"1" type:"string" required:"true"` // Current version of your Amazon Kinesis Analytics application. You can use - // the DescribeApplication operation to find the current application version. + // the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation to find the current application version. // // CurrentApplicationVersionId is a required field CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` - // The Input to add. + // The Input (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_Input.html) + // to add. // // Input is a required field Input *Input `type:"structure" required:"true"` @@ -1902,21 +2317,23 @@ type AddApplicationInputProcessingConfigurationInput struct { ApplicationName *string `min:"1" type:"string" required:"true"` // Version of the application to which you want to add the input processing - // configuration. You can use the DescribeApplication operation to get the current - // application version. If the version specified is not the current version, - // the ConcurrentModificationException is returned. + // configuration. You can use the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation to get the current application version. If the version specified + // is not the current version, the ConcurrentModificationException is returned. // // CurrentApplicationVersionId is a required field CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` // The ID of the input configuration to add the input processing configuration // to. You can get a list of the input IDs for an application using the DescribeApplication + // (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) // operation. // // InputId is a required field InputId *string `min:"1" type:"string" required:"true"` - // The InputProcessingConfiguration to add to the application. + // The InputProcessingConfiguration (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html) + // to add to the application. // // InputProcessingConfiguration is a required field InputProcessingConfiguration *InputProcessingConfiguration `type:"structure" required:"true"` @@ -2015,9 +2432,9 @@ type AddApplicationOutputInput struct { ApplicationName *string `min:"1" type:"string" required:"true"` // Version of the application to which you want to add the output configuration. - // You can use the DescribeApplication operation to get the current application - // version. If the version specified is not the current version, the ConcurrentModificationException - // is returned. + // You can use the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation to get the current application version. If the version specified + // is not the current version, the ConcurrentModificationException is returned. // // CurrentApplicationVersionId is a required field CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` @@ -2113,9 +2530,9 @@ type AddApplicationReferenceDataSourceInput struct { ApplicationName *string `min:"1" type:"string" required:"true"` // Version of the application for which you are adding the reference data source. - // You can use the DescribeApplication operation to get the current application - // version. If the version specified is not the current version, the ConcurrentModificationException - // is returned. + // You can use the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation to get the current application version. If the version specified + // is not the current version, the ConcurrentModificationException is returned. // // CurrentApplicationVersionId is a required field CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` @@ -2203,6 +2620,11 @@ func (s AddApplicationReferenceDataSourceOutput) GoString() string { return s.String() } +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Provides a description of the application, including the application Amazon // Resource Name (ARN), status, latest version, and input and output configuration. type ApplicationDetail struct { @@ -2237,25 +2659,25 @@ type ApplicationDetail struct { // Describes the CloudWatch log streams that are configured to receive application // messages. For more information about using CloudWatch log streams with Amazon - // Kinesis Analytics applications, see Working with Amazon CloudWatch Logs (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). + // Kinesis Analytics applications, see Working with Amazon CloudWatch Logs (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"` // Time stamp when the application version was created. CreateTimestamp *time.Time `type:"timestamp"` // Describes the application input configuration. For more information, see - // Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). + // Configuring Application Input (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). InputDescriptions []*InputDescription `type:"list"` // Time stamp when the application was last updated. LastUpdateTimestamp *time.Time `type:"timestamp"` // Describes the application output configuration. For more information, see - // Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). + // Configuring Application Output (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). OutputDescriptions []*OutputDescription `type:"list"` // Describes reference data sources configured for the application. For more - // information, see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). + // information, see Configuring Application Input (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). ReferenceDataSourceDescriptions []*ReferenceDataSourceDescription `type:"list"` } @@ -2341,6 +2763,11 @@ func (s *ApplicationDetail) SetReferenceDataSourceDescriptions(v []*ReferenceDat return s } +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// // Provides application summary information, including the application Amazon // Resource Name (ARN), name, and status. type ApplicationSummary struct { @@ -2754,7 +3181,7 @@ type CreateApplicationInput struct { // in-application stream, generates a running average of the number of advertisement // clicks by vendor, and insert resulting rows in another in-application stream // using pumps. For more information about the typical pattern, see Application - // Code (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-app-code.html). + // Code (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-app-code.html). // // You can provide such series of SQL statements, where output of one statement // can be used as the input for the next statement. You store intermediate results @@ -2776,7 +3203,7 @@ type CreateApplicationInput struct { // Use this parameter to configure a CloudWatch log stream to monitor application // configuration errors. For more information, see Working with Amazon CloudWatch - // Logs (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). + // Logs (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html). CloudWatchLoggingOptions []*CloudWatchLoggingOption `type:"list"` // Use this parameter to configure the application input. @@ -2815,6 +3242,13 @@ type CreateApplicationInput struct { // Amazon Kinesis Analytics can assume to write to the stream or Lambda function // on your behalf. Outputs []*Output `type:"list"` + + // A list of one or more tags to assign to the application. A tag is a key-value + // pair that identifies an application. Note that the maximum number of application + // tags includes system tags. The maximum number of user-defined application + // tags is 50. For more information, see Using Cost Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) + // in the AWS Billing and Cost Management Guide. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation @@ -2836,6 +3270,9 @@ func (s *CreateApplicationInput) Validate() error { if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } if s.CloudWatchLoggingOptions != nil { for i, v := range s.CloudWatchLoggingOptions { if v == nil { @@ -2866,6 +3303,16 @@ func (s *CreateApplicationInput) Validate() error { } } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2909,6 +3356,12 @@ func (s *CreateApplicationInput) SetOutputs(v []*Output) *CreateApplicationInput return s } +// SetTags sets the Tags field's value. +func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput { + s.Tags = v + return s +} + // TBD type CreateApplicationOutput struct { _ struct{} `type:"structure"` @@ -2947,6 +3400,7 @@ type DeleteApplicationCloudWatchLoggingOptionInput struct { // The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. // You can get the CloudWatchLoggingOptionId by using the DescribeApplication + // (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) // operation. // // CloudWatchLoggingOptionId is a required field @@ -3098,7 +3552,8 @@ type DeleteApplicationInputProcessingConfigurationInput struct { // The ID of the input configuration from which to delete the input processing // configuration. You can get a list of the input IDs for an application by - // using the DescribeApplication operation. + // using the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation. // // InputId is a required field InputId *string `min:"1" type:"string" required:"true"` @@ -3197,6 +3652,7 @@ type DeleteApplicationOutputInput struct { ApplicationName *string `min:"1" type:"string" required:"true"` // Amazon Kinesis Analytics application version. You can use the DescribeApplication + // (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) // operation to get the current application version. If the version specified // is not the current version, the ConcurrentModificationException is returned. // @@ -3205,10 +3661,11 @@ type DeleteApplicationOutputInput struct { // The ID of the configuration to delete. Each output configuration that is // added to the application, either when the application is created or later - // using the AddApplicationOutput operation, has a unique ID. You need to provide - // the ID to uniquely identify the output configuration that you want to delete - // from the application configuration. You can use the DescribeApplication operation - // to get the specific OutputId. + // using the AddApplicationOutput (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_AddApplicationOutput.html) + // operation, has a unique ID. You need to provide the ID to uniquely identify + // the output configuration that you want to delete from the application configuration. + // You can use the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation to get the specific OutputId. // // OutputId is a required field OutputId *string `min:"1" type:"string" required:"true"` @@ -3292,17 +3749,18 @@ type DeleteApplicationReferenceDataSourceInput struct { // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` - // Version of the application. You can use the DescribeApplication operation - // to get the current application version. If the version specified is not the - // current version, the ConcurrentModificationException is returned. + // Version of the application. You can use the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation to get the current application version. If the version specified + // is not the current version, the ConcurrentModificationException is returned. // // CurrentApplicationVersionId is a required field CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` // ID of the reference data source. When you add a reference data source to - // your application using the AddApplicationReferenceDataSource, Amazon Kinesis - // Analytics assigns an ID. You can use the DescribeApplication operation to - // get the reference ID. + // your application using the AddApplicationReferenceDataSource (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_AddApplicationReferenceDataSource.html), + // Amazon Kinesis Analytics assigns an ID. You can use the DescribeApplication + // (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation to get the reference ID. // // ReferenceId is a required field ReferenceId *string `min:"1" type:"string" required:"true"` @@ -3447,7 +3905,7 @@ func (s *DescribeApplicationOutput) SetApplicationDetail(v *ApplicationDetail) * } // Describes the data format when records are written to the destination. For -// more information, see Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). +// more information, see Configuring Application Output (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). type DestinationSchema struct { _ struct{} `type:"structure"` @@ -3489,8 +3947,8 @@ func (s *DestinationSchema) SetRecordFormatType(v string) *DestinationSchema { type DiscoverInputSchemaInput struct { _ struct{} `type:"structure"` - // The InputProcessingConfiguration to use to preprocess the records before - // discovering the schema of the records. + // The InputProcessingConfiguration (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html) + // to use to preprocess the records before discovering the schema of the records. InputProcessingConfiguration *InputProcessingConfiguration `type:"structure"` // Point at which you want Amazon Kinesis Analytics to start reading records @@ -3630,7 +4088,7 @@ func (s *DiscoverInputSchemaOutput) SetRawInputRecords(v []*string) *DiscoverInp // When you configure the application input, you specify the streaming source, // the in-application stream name that is created, and the mapping between the -// two. For more information, see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). +// two. For more information, see Configuring Application Input (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). type Input struct { _ struct{} `type:"structure"` @@ -3638,13 +4096,13 @@ type Input struct { // // Data from your source is routed to these in-application input streams. // - // (see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). + // (see Configuring Application Input (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). InputParallelism *InputParallelism `type:"structure"` - // The InputProcessingConfiguration for the input. An input processor transforms - // records as they are received from the stream, before the application's SQL - // code executes. Currently, the only input processing configuration available - // is InputLambdaProcessor. + // The InputProcessingConfiguration (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html) + // for the input. An input processor transforms records as they are received + // from the stream, before the application's SQL code executes. Currently, the + // only input processing configuration available is InputLambdaProcessor (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputLambdaProcessor.html). InputProcessingConfiguration *InputProcessingConfiguration `type:"structure"` // Describes the format of the data in the streaming source, and how each data @@ -3776,7 +4234,8 @@ func (s *Input) SetNamePrefix(v string) *Input { type InputConfiguration struct { _ struct{} `type:"structure"` - // Input source ID. You can get this ID by calling the DescribeApplication operation. + // Input source ID. You can get this ID by calling the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation. // // Id is a required field Id *string `min:"1" type:"string" required:"true"` @@ -3830,7 +4289,7 @@ func (s *InputConfiguration) SetInputStartingPositionConfiguration(v *InputStart } // Describes the application input configuration. For more information, see -// Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). +// Configuring Application Input (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). type InputDescription struct { _ struct{} `type:"structure"` @@ -3936,14 +4395,18 @@ func (s *InputDescription) SetNamePrefix(v string) *InputDescription { } // An object that contains the Amazon Resource Name (ARN) of the AWS Lambda -// (https://aws.amazon.com/documentation/lambda/) function that is used to preprocess +// (https://docs.aws.amazon.com/lambda/) function that is used to preprocess // records in the stream, and the ARN of the IAM role that is used to access // the AWS Lambda function. type InputLambdaProcessor struct { _ struct{} `type:"structure"` - // The ARN of the AWS Lambda (https://aws.amazon.com/documentation/lambda/) - // function that operates on records in the stream. + // The ARN of the AWS Lambda (https://docs.aws.amazon.com/lambda/) function + // that operates on records in the stream. + // + // To specify an earlier version of the Lambda function than the latest, include + // the Lambda function version in the Lambda function ARN. For more information + // about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda) // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` @@ -3999,14 +4462,14 @@ func (s *InputLambdaProcessor) SetRoleARN(v string) *InputLambdaProcessor { } // An object that contains the Amazon Resource Name (ARN) of the AWS Lambda -// (https://aws.amazon.com/documentation/lambda/) function that is used to preprocess +// (https://docs.aws.amazon.com/lambda/) function that is used to preprocess // records in the stream, and the ARN of the IAM role that is used to access // the AWS Lambda expression. type InputLambdaProcessorDescription struct { _ struct{} `type:"structure"` - // The ARN of the AWS Lambda (https://aws.amazon.com/documentation/lambda/) - // function that is used to preprocess the records in the stream. + // The ARN of the AWS Lambda (https://docs.aws.amazon.com/lambda/) function + // that is used to preprocess the records in the stream. ResourceARN *string `min:"1" type:"string"` // The ARN of the IAM role that is used to access the AWS Lambda function. @@ -4035,13 +4498,17 @@ func (s *InputLambdaProcessorDescription) SetRoleARN(v string) *InputLambdaProce return s } -// Represents an update to the InputLambdaProcessor that is used to preprocess -// the records in the stream. +// Represents an update to the InputLambdaProcessor (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputLambdaProcessor.html) +// that is used to preprocess the records in the stream. type InputLambdaProcessorUpdate struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the new AWS Lambda (https://aws.amazon.com/documentation/lambda/) + // The Amazon Resource Name (ARN) of the new AWS Lambda (https://docs.aws.amazon.com/ambda/) // function that is used to preprocess the records in the stream. + // + // To specify an earlier version of the Lambda function than the latest, include + // the Lambda function version in the Lambda function ARN. For more information + // about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda) ResourceARNUpdate *string `min:"1" type:"string"` // The ARN of the new IAM role that is used to access the AWS Lambda function. @@ -4088,12 +4555,12 @@ func (s *InputLambdaProcessorUpdate) SetRoleARNUpdate(v string) *InputLambdaProc // Describes the number of in-application streams to create for a given streaming // source. For information about parallelism, see Configuring Application Input -// (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). +// (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). type InputParallelism struct { _ struct{} `type:"structure"` // Number of in-application streams to create. For more information, see Limits - // (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html). + // (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html). Count *int64 `min:"1" type:"integer"` } @@ -4165,12 +4632,13 @@ func (s *InputParallelismUpdate) SetCountUpdate(v int64) *InputParallelismUpdate // Provides a description of a processor that is used to preprocess the records // in the stream before being processed by your application code. Currently, -// the only input processor available is AWS Lambda (https://aws.amazon.com/documentation/lambda/). +// the only input processor available is AWS Lambda (https://docs.aws.amazon.com/lambda/). type InputProcessingConfiguration struct { _ struct{} `type:"structure"` - // The InputLambdaProcessor that is used to preprocess the records in the stream - // before being processed by your application code. + // The InputLambdaProcessor (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputLambdaProcessor.html) + // that is used to preprocess the records in the stream before being processed + // by your application code. // // InputLambdaProcessor is a required field InputLambdaProcessor *InputLambdaProcessor `type:"structure" required:"true"` @@ -4211,11 +4679,12 @@ func (s *InputProcessingConfiguration) SetInputLambdaProcessor(v *InputLambdaPro } // Provides configuration information about an input processor. Currently, the -// only input processor available is AWS Lambda (https://aws.amazon.com/documentation/lambda/). +// only input processor available is AWS Lambda (https://docs.aws.amazon.com/lambda/). type InputProcessingConfigurationDescription struct { _ struct{} `type:"structure"` - // Provides configuration information about the associated InputLambdaProcessorDescription. + // Provides configuration information about the associated InputLambdaProcessorDescription + // (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputLambdaProcessorDescription.html). InputLambdaProcessorDescription *InputLambdaProcessorDescription `type:"structure"` } @@ -4235,11 +4704,11 @@ func (s *InputProcessingConfigurationDescription) SetInputLambdaProcessorDescrip return s } -// Describes updates to an InputProcessingConfiguration. +// Describes updates to an InputProcessingConfiguration (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html). type InputProcessingConfigurationUpdate struct { _ struct{} `type:"structure"` - // Provides update information for an InputLambdaProcessor. + // Provides update information for an InputLambdaProcessor (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputLambdaProcessor.html). // // InputLambdaProcessorUpdate is a required field InputLambdaProcessorUpdate *InputLambdaProcessorUpdate `type:"structure" required:"true"` @@ -4809,9 +5278,9 @@ func (s *KinesisFirehoseOutputDescription) SetRoleARN(v string) *KinesisFirehose return s } -// When updating an output configuration using the UpdateApplication operation, -// provides information about an Amazon Kinesis Firehose delivery stream configured -// as the destination. +// When updating an output configuration using the UpdateApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_UpdateApplication.html) +// operation, provides information about an Amazon Kinesis Firehose delivery +// stream configured as the destination. type KinesisFirehoseOutputUpdate struct { _ struct{} `type:"structure"` @@ -5112,8 +5581,9 @@ func (s *KinesisStreamsOutputDescription) SetRoleARN(v string) *KinesisStreamsOu return s } -// When updating an output configuration using the UpdateApplication operation, -// provides information about an Amazon Kinesis stream configured as the destination. +// When updating an output configuration using the UpdateApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_UpdateApplication.html) +// operation, provides information about an Amazon Kinesis stream configured +// as the destination. type KinesisStreamsOutputUpdate struct { _ struct{} `type:"structure"` @@ -5174,6 +5644,10 @@ type LambdaOutput struct { // Amazon Resource Name (ARN) of the destination Lambda function to write to. // + // To specify an earlier version of the Lambda function than the latest, include + // the Lambda function version in the Lambda function ARN. For more information + // about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda) + // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` @@ -5264,12 +5738,17 @@ func (s *LambdaOutputDescription) SetRoleARN(v string) *LambdaOutputDescription return s } -// When updating an output configuration using the UpdateApplication operation, -// provides information about an AWS Lambda function configured as the destination. +// When updating an output configuration using the UpdateApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_UpdateApplication.html) +// operation, provides information about an AWS Lambda function configured as +// the destination. type LambdaOutputUpdate struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the destination Lambda function. + // + // To specify an earlier version of the Lambda function than the latest, include + // the Lambda function version in the Lambda function ARN. For more information + // about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda) ResourceARNUpdate *string `min:"1" type:"string"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to write to @@ -5403,6 +5882,70 @@ func (s *ListApplicationsOutput) SetHasMoreApplications(v bool) *ListApplication return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the application for which to retrieve tags. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The key-value tags assigned to the application. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + // When configuring application input at the time of creating or updating an // application, provides additional mapping information specific to the record // format (such as JSON, CSV, or record fields delimited by some delimiter) @@ -5467,12 +6010,12 @@ func (s *MappingParameters) SetJSONMappingParameters(v *JSONMappingParameters) * // Kinesis Firehose delivery stream. // // For limits on how many destinations an application can write and other limitations, -// see Limits (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html) +// see Limits (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html) type Output struct { _ struct{} `type:"structure"` // Describes the data format when records are written to the destination. For - // more information, see Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). + // more information, see Configuring Application Output (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). // // DestinationSchema is a required field DestinationSchema *DestinationSchema `type:"structure" required:"true"` @@ -5650,7 +6193,7 @@ type OutputUpdate struct { _ struct{} `type:"structure"` // Describes the data format when records are written to the destination. For - // more information, see Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). + // more information, see Configuring Application Output (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). DestinationSchemaUpdate *DestinationSchema `type:"structure"` // Describes an Amazon Kinesis Firehose delivery stream as the destination for @@ -5765,8 +6308,9 @@ func (s *OutputUpdate) SetOutputId(v string) *OutputUpdate { type RecordColumn struct { _ struct{} `type:"structure"` - // Reference to the data element in the streaming input of the reference data - // source. + // Reference to the data element in the streaming input or the reference data + // source. This element is required if the RecordFormatType (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_RecordFormat.html#analytics-Type-RecordFormat-RecordFormatTypel) + // is JSON. Mapping *string `type:"string"` // Name of the column created in the in-application input stream or reference @@ -5974,7 +6518,8 @@ type ReferenceDataSourceDescription struct { // ID of the reference data source. This is the ID that Amazon Kinesis Analytics // assigns when you add the reference data source to your application using - // the AddApplicationReferenceDataSource operation. + // the AddApplicationReferenceDataSource (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_AddApplicationReferenceDataSource.html) + // operation. // // ReferenceId is a required field ReferenceId *string `min:"1" type:"string" required:"true"` @@ -6041,6 +6586,7 @@ type ReferenceDataSourceUpdate struct { _ struct{} `type:"structure"` // ID of the reference data source being updated. You can use the DescribeApplication + // (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) // operation to get this value. // // ReferenceId is a required field @@ -6206,8 +6752,8 @@ func (s *S3Configuration) SetRoleARN(v string) *S3Configuration { // object on your behalf. // // An Amazon Kinesis Analytics application loads reference data only once. If -// the data changes, you call the UpdateApplication operation to trigger reloading -// of data into your application. +// the data changes, you call the UpdateApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_UpdateApplication.html) +// operation to trigger reloading of data into your application. type S3ReferenceDataSource struct { _ struct{} `type:"structure"` @@ -6619,6 +7165,217 @@ func (s StopApplicationOutput) GoString() string { return s.String() } +// A key-value pair (the value is optional) that you can define and assign to +// AWS resources. If you specify a tag that already exists, the tag value is +// replaced with the value that you specify in the request. Note that the maximum +// number of application tags includes system tags. The maximum number of user-defined +// application tags is 50. For more information, see Using Cost Allocation Tags +// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) +// in the AWS Billing and Cost Management Guide. +type Tag struct { + _ struct{} `type:"structure"` + + // The key of the key-value tag. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value of the key-value tag. The value is optional. + Value *string `type:"string"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the application to assign the tags. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The key-value tags to assign to the application. + // + // Tags is a required field + Tags []*Tag `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the Kinesis Analytics application from which to remove the tags. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // A list of keys of tags to remove from the specified application. + // + // TagKeys is a required field + TagKeys []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateApplicationInput struct { _ struct{} `type:"structure"` @@ -6632,8 +7389,8 @@ type UpdateApplicationInput struct { // ApplicationUpdate is a required field ApplicationUpdate *ApplicationUpdate `type:"structure" required:"true"` - // The current application version ID. You can use the DescribeApplication operation - // to get this value. + // The current application version ID. You can use the DescribeApplication (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html) + // operation to get this value. // // CurrentApplicationVersionId is a required field CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/doc.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/doc.go index 8e2c7811337..07b64b530ff 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/doc.go @@ -3,6 +3,16 @@ // Package kinesisanalytics provides the client and types for making API // requests to Amazon Kinesis Analytics. // +// Overview +// +// This documentation is for version 1 of the Amazon Kinesis Data Analytics +// API, which only supports SQL applications. Version 2 of the API supports +// SQL and Java applications. For more information about version 2, see Amazon +// Kinesis Data Analytics API V2 Documentation (/kinesisanalytics/latest/apiv2/Welcome.html). +// +// This is the Amazon Kinesis Analytics v1 API Reference. The Amazon Kinesis +// Analytics Developer Guide provides additional information. +// // See https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14 for more information on this service. // // See kinesisanalytics package documentation for more information. diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/errors.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/errors.go index 7091938f16e..56d1347f0d4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalytics/errors.go @@ -54,8 +54,8 @@ const ( // // Discovery failed to get a record from the streaming source because of the // Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, - // see GetRecords (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) - // in the Amazon Kinesis Streams API Reference. + // see GetRecords (kinesis/latest/APIReference/API_GetRecords.html) in the Amazon + // Kinesis Streams API Reference. ErrCodeResourceProvisionedThroughputExceededException = "ResourceProvisionedThroughputExceededException" // ErrCodeServiceUnavailableException for service response error code @@ -64,6 +64,14 @@ const ( // The service is unavailable. Back off and retry the operation. ErrCodeServiceUnavailableException = "ServiceUnavailableException" + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // Application created with too many tags, or too many tags added to an application. + // Note that the maximum number of application tags includes system tags. The + // maximum number of user-defined application tags is 50. + ErrCodeTooManyTagsException = "TooManyTagsException" + // ErrCodeUnableToDetectSchemaException for service response error code // "UnableToDetectSchemaException". // @@ -73,5 +81,8 @@ const ( // ErrCodeUnsupportedOperationException for service response error code // "UnsupportedOperationException". + // + // The request was rejected because a specified parameter is not supported or + // a specified resource is not valid for this operation. ErrCodeUnsupportedOperationException = "UnsupportedOperationException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go index 091d0c94f4b..9c1a06e6fc1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go @@ -85,6 +85,9 @@ func (c *KinesisAnalyticsV2) AddApplicationCloudWatchLoggingOptionRequest(input // * ErrCodeInvalidRequestException "InvalidRequestException" // The request JSON is not valid for the operation. // +// * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException" +// The user-provided application configuration is not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationCloudWatchLoggingOption func (c *KinesisAnalyticsV2) AddApplicationCloudWatchLoggingOption(input *AddApplicationCloudWatchLoggingOptionInput) (*AddApplicationCloudWatchLoggingOptionOutput, error) { req, out := c.AddApplicationCloudWatchLoggingOptionRequest(input) @@ -563,10 +566,7 @@ func (c *KinesisAnalyticsV2) CreateApplicationRequest(input *CreateApplicationIn // // Creates an Amazon Kinesis Data Analytics application. For information about // creating a Kinesis Data Analytics application, see Creating an Application -// (https://docs.aws.amazon.com/kinesisanalytics/latest/Java/creating-app.html). -// -// SQL is not enabled for this private beta release. Using SQL parameters (such -// as SqlApplicationConfiguration) will result in an error. +// (https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html). // // 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 @@ -592,6 +592,16 @@ func (c *KinesisAnalyticsV2) CreateApplicationRequest(input *CreateApplicationIn // * ErrCodeInvalidRequestException "InvalidRequestException" // The request JSON is not valid for the operation. // +// * ErrCodeTooManyTagsException "TooManyTagsException" +// Application created with too many tags, or too many tags added to an application. +// Note that the maximum number of application tags includes system tags. The +// maximum number of user-defined application tags is 50. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplication func (c *KinesisAnalyticsV2) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { req, out := c.CreateApplicationRequest(input) @@ -783,6 +793,9 @@ func (c *KinesisAnalyticsV2) DeleteApplicationRequest(input *DeleteApplicationIn // * ErrCodeInvalidRequestException "InvalidRequestException" // The request JSON is not valid for the operation. // +// * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException" +// The user-provided application configuration is not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplication func (c *KinesisAnalyticsV2) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { req, out := c.DeleteApplicationRequest(input) @@ -877,6 +890,9 @@ func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOptionRequest(inp // * ErrCodeInvalidRequestException "InvalidRequestException" // The request JSON is not valid for the operation. // +// * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException" +// The user-provided application configuration is not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationCloudWatchLoggingOption func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOption(input *DeleteApplicationCloudWatchLoggingOptionInput) (*DeleteApplicationCloudWatchLoggingOptionOutput, error) { req, out := c.DeleteApplicationCloudWatchLoggingOptionRequest(input) @@ -1723,6 +1739,93 @@ func (c *KinesisAnalyticsV2) ListApplicationsWithContext(ctx aws.Context, input return out, req.Send() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource +// 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 ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListTagsForResource +func (c *KinesisAnalyticsV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Kinesis Analytics. +// +// Retrieves the list of key-value tags assigned to the application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListTagsForResource +func (c *KinesisAnalyticsV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource 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 *KinesisAnalyticsV2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartApplication = "StartApplication" // StartApplicationRequest generates a "aws/request.Request" representing the @@ -1771,9 +1874,6 @@ func (c *KinesisAnalyticsV2) StartApplicationRequest(input *StartApplicationInpu // Starts the specified Amazon Kinesis Data Analytics application. After creating // an application, you must exclusively call this operation to start your application. // -// SQL is not enabled for this private beta. Using SQL parameters (such as RunConfiguration$SqlRunConfigurations) -// will result in an error. -// // 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. @@ -1888,6 +1988,9 @@ func (c *KinesisAnalyticsV2) StopApplicationRequest(input *StopApplicationInput) // * ErrCodeInvalidRequestException "InvalidRequestException" // The request JSON is not valid for the operation. // +// * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException" +// The user-provided application configuration is not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StopApplication func (c *KinesisAnalyticsV2) StopApplication(input *StopApplicationInput) (*StopApplicationOutput, error) { req, out := c.StopApplicationRequest(input) @@ -1910,6 +2013,200 @@ func (c *KinesisAnalyticsV2) StopApplicationWithContext(ctx aws.Context, input * return out, req.Send() } +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource 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 TagResource for more information on using the TagResource +// 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 TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/TagResource +func (c *KinesisAnalyticsV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Kinesis Analytics. +// +// Adds one or more key-value tags to a Kinesis Analytics application. Note +// that the maximum number of application tags includes system tags. The maximum +// number of user-defined application tags is 50. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// Application created with too many tags, or too many tags added to an application. +// Note that the maximum number of application tags includes system tags. The +// maximum number of user-defined application tags is 50. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/TagResource +func (c *KinesisAnalyticsV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource 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 *KinesisAnalyticsV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UntagResource +func (c *KinesisAnalyticsV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Kinesis Analytics. +// +// Removes one or more tags from a Kinesis Analytics application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Kinesis Analytics's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// Application created with too many tags, or too many tags added to an application. +// Note that the maximum number of application tags includes system tags. The +// maximum number of user-defined application tags is 50. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UntagResource +func (c *KinesisAnalyticsV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource 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 *KinesisAnalyticsV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateApplication = "UpdateApplication" // UpdateApplicationRequest generates a "aws/request.Request" representing the @@ -1961,9 +2258,6 @@ func (c *KinesisAnalyticsV2) UpdateApplicationRequest(input *UpdateApplicationIn // Kinesis Data Analytics updates the ApplicationVersionId each time you update // your application. // -// SQL is not enabled for this private beta. Using SQL parameters (such as SqlApplicationConfigurationUpdate) -// will result in an error. -// // 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. @@ -1993,6 +2287,9 @@ func (c *KinesisAnalyticsV2) UpdateApplicationRequest(input *UpdateApplicationIn // * ErrCodeInvalidRequestException "InvalidRequestException" // The request JSON is not valid for the operation. // +// * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException" +// The user-provided application configuration is not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplication func (c *KinesisAnalyticsV2) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { req, out := c.UpdateApplicationRequest(input) @@ -2505,7 +2802,7 @@ type AddApplicationOutputOutput struct { ApplicationVersionId *int64 `min:"1" type:"long"` // Describes the application output configuration. For more information, see - // Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). + // Configuring Application Output (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). OutputDescriptions []*OutputDescription `type:"list"` } @@ -3114,7 +3411,7 @@ type ApplicationDetail struct { // The current timestamp when the application was last updated. LastUpdateTimestamp *time.Time `type:"timestamp"` - // The runtime environment for the application (SQL-1.0 or JAVA-8-FLINK-1.5). + // The runtime environment for the application (SQL-1.0 or FLINK-1_6). // // RuntimeEnvironment is a required field RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"` @@ -3388,7 +3685,7 @@ type ApplicationSummary struct { // ApplicationVersionId is a required field ApplicationVersionId *int64 `min:"1" type:"long" required:"true"` - // The runtime environment for the application (SQL-1.0 or JAVA-8-FLINK-1.5). + // The runtime environment for the application (SQL-1.0 or FLINK-1_6). // // RuntimeEnvironment is a required field RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"` @@ -4024,7 +4321,7 @@ type CreateApplicationInput struct { // application configuration errors. CloudWatchLoggingOptions []*CloudWatchLoggingOption `type:"list"` - // The runtime environment for the application (SQL-1.0 or JAVA-8-FLINK-1.5). + // The runtime environment for the application (SQL-1.0 or FLINK-1_6). // // RuntimeEnvironment is a required field RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"` @@ -4034,6 +4331,13 @@ type CreateApplicationInput struct { // // ServiceExecutionRole is a required field ServiceExecutionRole *string `min:"1" type:"string" required:"true"` + + // A list of one or more tags to assign to the application. A tag is a key-value + // pair that identifies an application. Note that the maximum number of application + // tags includes system tags. The maximum number of user-defined application + // tags is 50. For more information, see Using Cost Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) + // in the AWS Billing and Cost Management Guide. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation @@ -4064,6 +4368,9 @@ func (s *CreateApplicationInput) Validate() error { if s.ServiceExecutionRole != nil && len(*s.ServiceExecutionRole) < 1 { invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRole", 1)) } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } if s.ApplicationConfiguration != nil { if err := s.ApplicationConfiguration.Validate(); err != nil { invalidParams.AddNested("ApplicationConfiguration", err.(request.ErrInvalidParams)) @@ -4079,6 +4386,16 @@ func (s *CreateApplicationInput) Validate() error { } } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -4122,6 +4439,12 @@ func (s *CreateApplicationInput) SetServiceExecutionRole(v string) *CreateApplic return s } +// SetTags sets the Tags field's value. +func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput { + s.Tags = v + return s +} + type CreateApplicationOutput struct { _ struct{} `type:"structure"` @@ -5738,6 +6061,10 @@ type InputLambdaProcessor struct { // The ARN of the AWS Lambda function that operates on records in the stream. // + // To specify an earlier version of the Lambda function than the latest, include + // the Lambda function version in the Lambda function ARN. For more information + // about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda) + // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` } @@ -5783,6 +6110,10 @@ type InputLambdaProcessorDescription struct { // The ARN of the AWS Lambda function that is used to preprocess the records // in the stream. // + // To specify an earlier version of the Lambda function than the latest, include + // the Lambda function version in the Lambda function ARN. For more information + // about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda) + // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` @@ -5825,6 +6156,10 @@ type InputLambdaProcessorUpdate struct { // The Amazon Resource Name (ARN) of the new AWS Lambda function that is used // to preprocess the records in the stream. // + // To specify an earlier version of the Lambda function than the latest, include + // the Lambda function version in the Lambda function ARN. For more information + // about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda) + // // ResourceARNUpdate is a required field ResourceARNUpdate *string `min:"1" type:"string" required:"true"` } @@ -6871,6 +7206,10 @@ type LambdaOutput struct { // The Amazon Resource Name (ARN) of the destination Lambda function to write // to. // + // To specify an earlier version of the Lambda function than the latest, include + // the Lambda function version in the Lambda function ARN. For more information + // about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda) + // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` } @@ -6956,6 +7295,10 @@ type LambdaOutputUpdate struct { // The Amazon Resource Name (ARN) of the destination AWS Lambda function. // + // To specify an earlier version of the Lambda function than the latest, include + // the Lambda function version in the Lambda function ARN. For more information + // about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda) + // // ResourceARNUpdate is a required field ResourceARNUpdate *string `min:"1" type:"string" required:"true"` } @@ -7180,6 +7523,70 @@ func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the application for which to retrieve tags. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The key-value tags assigned to the application. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + // When you configure an SQL-based Amazon Kinesis Data Analytics application's // input at the time of creating or updating an application, provides additional // mapping information specific to the record format (such as JSON, CSV, or @@ -7240,7 +7647,7 @@ func (s *MappingParameters) SetJSONMappingParameters(v *JSONMappingParameters) * // Describes configuration parameters for Amazon CloudWatch logging for a Java-based // Kinesis Data Analytics application. For more information about CloudWatch -// logging, see Monitoring (https://docs.aws.amazon.com/kinesisanalytics/latest/Java/monitoring-overview.html). +// logging, see Monitoring (https://docs.aws.amazon.com/kinesisanalytics/latest/java/monitoring-overview.html). type MonitoringConfiguration struct { _ struct{} `type:"structure"` @@ -7969,7 +8376,7 @@ func (s *PropertyGroup) SetPropertyMap(v map[string]*string) *PropertyGroup { type RecordColumn struct { _ struct{} `type:"structure"` - // A reference to the data element in the streaming input of the reference data + // A reference to the data element in the streaming input or the reference data // source. Mapping *string `type:"string"` @@ -9396,6 +9803,217 @@ func (s StopApplicationOutput) GoString() string { return s.String() } +// A key-value pair (the value is optional) that you can define and assign to +// AWS resources. If you specify a tag that already exists, the tag value is +// replaced with the value that you specify in the request. Note that the maximum +// number of application tags includes system tags. The maximum number of user-defined +// application tags is 50. For more information, see Using Cost Allocation Tags +// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) +// in the AWS Billing and Cost Management Guide. +type Tag struct { + _ struct{} `type:"structure"` + + // The key of the key-value tag. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value of the key-value tag. The value is optional. + Value *string `type:"string"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the application to assign the tags. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The key-value tags to assign to the application. + // + // Tags is a required field + Tags []*Tag `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the Kinesis Analytics application from which to remove the tags. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // A list of keys of tags to remove from the specified application. + // + // TagKeys is a required field + TagKeys []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateApplicationInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/doc.go index 7237721b25f..e4ae663b59f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/doc.go @@ -3,7 +3,11 @@ // Package kinesisanalyticsv2 provides the client and types for making API // requests to Amazon Kinesis Analytics. // -// Documentation for Kinesis Data Analytics API v2 +// Amazon Kinesis Data Analytics is a fully managed service that you can use +// to process and analyze streaming data using SQL or Java. The service enables +// you to quickly author and run SQL or Java code against streaming sources +// to perform time series analytics, feed real-time dashboards, and create real-time +// metrics. // // See https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/errors.go index defe252c7d9..f4cac8577d0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/errors.go @@ -70,6 +70,14 @@ const ( // The service cannot complete the request. ErrCodeServiceUnavailableException = "ServiceUnavailableException" + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // Application created with too many tags, or too many tags added to an application. + // Note that the maximum number of application tags includes system tags. The + // maximum number of user-defined application tags is 50. + ErrCodeTooManyTagsException = "TooManyTagsException" + // ErrCodeUnableToDetectSchemaException for service response error code // "UnableToDetectSchemaException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go index 82e34d591ac..01bff5ccbe9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go @@ -59,7 +59,8 @@ func (c *SageMaker) AddTagsRequest(input *AddTagsInput) (req *request.Request, o // // Adds or overwrites one or more tags for the specified Amazon SageMaker resource. // You can add tags to notebook instances, training jobs, hyperparameter tuning -// jobs, models, endpoint configurations, and endpoints. +// jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, +// and endpoints. // // Each tag consists of a key and an optional value. Tag keys must be unique // per resource. For more information about tags, see For more information, @@ -419,6 +420,10 @@ func (c *SageMaker) CreateEndpointRequest(input *CreateEndpointInput) (req *requ // // Use this API only for hosting models using Amazon SageMaker hosting services. // +// You must not delete an EndpointConfig in use by an endpoint that is live +// or while the UpdateEndpoint or CreateEndpoint operations are being performed +// on the endpoint. To update an endpoint, you must create a new EndpointConfig. +// // The endpoint name must be unique within an AWS Region in your AWS account. // // When it receives the request, Amazon SageMaker creates the endpoint, launches @@ -1230,6 +1235,10 @@ func (c *SageMaker) CreatePresignedNotebookInstanceUrlRequest(input *CreatePresi // IP addresses that you want to have access to the notebook instance. For more // information, see Limit Access to a Notebook Instance by IP Address (https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-ip-filter.html). // +// The URL that you get from a call to is valid only for 5 minutes. If you try +// to use the URL after the 5-minute limit expires, you are directed to the +// AWS console sign-in page. +// // 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. @@ -6370,7 +6379,8 @@ func (c *SageMaker) StopNotebookInstanceRequest(input *StopNotebookInstanceInput // // Terminates the ML compute instance. Before terminating the instance, Amazon // SageMaker disconnects the ML storage volume from it. Amazon SageMaker preserves -// the ML storage volume. +// the ML storage volume. Amazon SageMaker stops charging you for the ML compute +// instance when you call StopNotebookInstance. // // To access data on the ML storage volume for a notebook instance that has // been terminated, call the StartNotebookInstance API. StartNotebookInstance @@ -6704,8 +6714,9 @@ func (c *SageMaker) UpdateEndpointRequest(input *UpdateEndpointInput) (req *requ // check the status of an endpoint, use the DescribeEndpoint (https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html) // API. // -// You cannot update an endpoint with the current EndpointConfig. To update -// an endpoint, you must create a new EndpointConfig. +// You must not delete an EndpointConfig in use by an endpoint that is live +// or while the UpdateEndpoint or CreateEndpoint operations are being performed +// on the endpoint. To update an endpoint, you must create a new EndpointConfig. // // 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 @@ -6873,8 +6884,7 @@ func (c *SageMaker) UpdateNotebookInstanceRequest(input *UpdateNotebookInstanceI // // Updates a notebook instance. NotebookInstance updates include upgrading or // downgrading the ML compute instance used for your notebook instance to accommodate -// changes in your workload requirements. You can also update the VPC security -// groups. +// changes in your workload requirements. // // 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 @@ -7597,6 +7607,8 @@ type AnnotationConsolidationConfig struct { // // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox // + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-BoundingBox + // // * Image classification - Uses a variant of the Expectation Maximization // approach to estimate the true class of an image based on annotations from // individual workers. @@ -7611,6 +7623,8 @@ type AnnotationConsolidationConfig struct { // // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass // + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClass + // // * Semantic segmentation - Treats each pixel in an image as a multi-class // classification and treats pixel annotations from workers as "votes" for // the correct label. @@ -7625,6 +7639,8 @@ type AnnotationConsolidationConfig struct { // // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-SemanticSegmentation // + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-SemanticSegmentation + // // * Text classification - Uses a variant of the Expectation Maximization // approach to estimate the true class of text based on annotations from // individual workers. @@ -7639,6 +7655,8 @@ type AnnotationConsolidationConfig struct { // // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass // + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClass + // // For more information, see Annotation Consolidation (http://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html). // // AnnotationConsolidationLambdaArn is a required field @@ -8269,7 +8287,18 @@ func (s *CompilationJobSummary) SetLastModifiedTime(v time.Time) *CompilationJob type ContainerDefinition struct { _ struct{} `type:"structure"` - // This parameter is ignored. + // This parameter is ignored for models that contain only a PrimaryContainer. + // + // When a ContainerDefinition is part of an inference pipeline, the value of + // ths parameter uniquely identifies the container for the purposes of logging + // and metrics. For information, see Use Logs and Metrics to Monitor an Inference + // Pipeline (http://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipeline-logs-metrics.html). + // If you don't specify a value for this parameter for a ContainerDefinition + // that is part of an inference pipeline, a unique name is automatically assigned + // based on the position of the ContainerDefinition in the pipeline. If you + // specify a value for the ContainerHostName for any ContainerDefinition that + // is part of an inference pipeline, you must specify a value for the ContainerHostName + // parameter of every ContainerDefinition in that pipeline. ContainerHostname *string `type:"string"` // The environment variables to set in the Docker container. Each key and value @@ -8287,7 +8316,9 @@ type ContainerDefinition struct { // The S3 path where the model artifacts, which result from model training, // are stored. This path must point to a single gzip compressed tar archive - // (.tar.gz suffix). + // (.tar.gz suffix). The S3 path is required for Amazon SageMaker built-in algorithms, + // but not if you use your own algorithms. For more information on built-in + // algorithms, see Common Parameters (http://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html). // // If you provide a value for this parameter, Amazon SageMaker uses AWS Security // Token Service to download model artifacts from the S3 path you provide. AWS @@ -8296,6 +8327,9 @@ type ContainerDefinition struct { // more information, see Activating and Deactivating AWS STS in an AWS Region // (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the AWS Identity and Access Management User Guide. + // + // If you use a built-in algorithm to create a model, Amazon SageMaker requires + // that you provide a S3 path to the model artifacts in ModelDataUrl. ModelDataUrl *string `type:"string"` // The name of the model package to use to create the model. @@ -8378,7 +8412,7 @@ type ContinuousParameterRange struct { // The scale that hyperparameter tuning uses to search the hyperparameter range. // For information about choosing a hyperparameter scale, see Hyperparameter - // Range Scaling (http://docs.aws.amazon.com//sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type). + // Scaling (http://docs.aws.amazon.com//sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type). // One of the following values: // // AutoAmazon SageMaker hyperparameter tuning chooses the best scale for the @@ -8777,7 +8811,7 @@ type CreateCompilationJobInput struct { // OutputConfig is a required field OutputConfig *OutputConfig `type:"structure" required:"true"` - // The Amazon Resource Name (ARN) of an IIAMAM role that enables Amazon SageMaker + // The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker // to perform tasks on your behalf. // // During model compilation, Amazon SageMaker needs your permission to: @@ -8932,15 +8966,15 @@ type CreateEndpointConfigInput struct { // instance that hosts the endpoint. KmsKeyId *string `type:"string"` - // An array of ProductionVariant objects, one for each model that you want to + // An list of ProductionVariant objects, one for each model that you want to // host at this endpoint. // // ProductionVariants is a required field ProductionVariants []*ProductionVariant `min:"1" type:"list" required:"true"` - // An array of key-value pairs. For more information, see Using Cost Allocation + // A list of key-value pairs. For more information, see Using Cost Allocation // Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) - // in the AWS Billing and Cost Management User Guide. + // in the AWS Billing and Cost Management User Guide. Tags []*Tag `type:"list"` } @@ -9174,9 +9208,7 @@ type CreateHyperParameterTuningJobInput struct { // jobs that this tuning job launches, including static hyperparameters, input // data configuration, output data configuration, resource configuration, and // stopping condition. - // - // TrainingJobDefinition is a required field - TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure" required:"true"` + TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure"` // Specifies the configuration for starting the hyperparameter tuning job using // one or more previous tuning jobs as a starting point. The results of previous @@ -9219,9 +9251,6 @@ func (s *CreateHyperParameterTuningJobInput) Validate() error { if s.HyperParameterTuningJobName != nil && len(*s.HyperParameterTuningJobName) < 1 { invalidParams.Add(request.NewErrParamMinLen("HyperParameterTuningJobName", 1)) } - if s.TrainingJobDefinition == nil { - invalidParams.Add(request.NewErrParamRequired("TrainingJobDefinition")) - } if s.HyperParameterTuningJobConfig != nil { if err := s.HyperParameterTuningJobConfig.Validate(); err != nil { invalidParams.AddNested("HyperParameterTuningJobConfig", err.(request.ErrInvalidParams)) @@ -9611,9 +9640,10 @@ type CreateModelInput struct { // in the AWS Billing and Cost Management User Guide. Tags []*Tag `type:"list"` - // A VpcConfig object that specifies the VPC that you want your model to connect - // to. Control access to and from your model container by configuring the VPC. - // VpcConfig is used in hosting services and in batch transform. For more information, + // A VpcConfig (https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html) + // object that specifies the VPC that you want your model to connect to. Control + // access to and from your model container by configuring the VPC. VpcConfig + // is used in hosting services and in batch transform. For more information, // see Protect Endpoints by Using an Amazon Virtual Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) // and Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private // Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html). @@ -9927,10 +9957,10 @@ type CreateNotebookInstanceInput struct { // InstanceType is a required field InstanceType *string `type:"string" required:"true" enum:"InstanceType"` - // If you provide a AWS KMS key ID, Amazon SageMaker uses it to encrypt data - // at rest on the ML storage volume that is attached to your notebook instance. - // The KMS key you provide must be enabled. For information, see Enabling and - // Disabling Keys (http://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) + // The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon + // SageMaker uses to encrypt data on the storage volume attached to your notebook + // instance. The KMS key you provide must be enabled. For information, see Enabling + // and Disabling Keys (http://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) // in the AWS Key Management Service Developer Guide. KmsKeyId *string `type:"string"` @@ -10642,9 +10672,12 @@ type CreateTransformJobInput struct { Environment map[string]*string `type:"map"` // The maximum number of parallel requests that can be sent to each instance - // in a transform job. The default value is 1. To allow Amazon SageMaker to - // determine the appropriate number for MaxConcurrentTransforms, set the value - // to 0. + // in a transform job. If MaxConcurrentTransforms is set to 0 or left unset, + // Amazon SageMaker checks the optional execution-parameters to determine the + // optimal settings for your chosen algorithm. If the execution-parameters endpoint + // is not enabled, the default value is 1. For more information on execution-parameters, + // see How Containers Serve Requests (http://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-batch-code.html#your-algorithms-batch-code-how-containe-serves-requests). + // For built-in algorithms, you don't need to set a value for MaxConcurrentTransforms. MaxConcurrentTransforms *int64 `type:"integer"` // The maximum allowed size of the payload, in MB. A payload is the data portion @@ -10861,6 +10894,9 @@ type CreateWorkteamInput struct { // MemberDefinitions is a required field MemberDefinitions []*MemberDefinition `min:"1" type:"list" required:"true"` + // Configures notification of workers regarding available or expiring work items. + NotificationConfiguration *NotificationConfiguration `type:"structure"` + Tags []*Tag `type:"list"` // The name of the work team. Use this name to identify the work team. @@ -10939,6 +10975,12 @@ func (s *CreateWorkteamInput) SetMemberDefinitions(v []*MemberDefinition) *Creat return s } +// SetNotificationConfiguration sets the NotificationConfiguration field's value. +func (s *CreateWorkteamInput) SetNotificationConfiguration(v *NotificationConfiguration) *CreateWorkteamInput { + s.NotificationConfiguration = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateWorkteamInput) SetTags(v []*Tag) *CreateWorkteamInput { s.Tags = v @@ -10980,9 +11022,7 @@ type DataSource struct { _ struct{} `type:"structure"` // The S3 location of the data source that is associated with a channel. - // - // S3DataSource is a required field - S3DataSource *S3DataSource `type:"structure" required:"true"` + S3DataSource *S3DataSource `type:"structure"` } // String returns the string representation @@ -10998,9 +11038,6 @@ func (s DataSource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DataSource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DataSource"} - if s.S3DataSource == nil { - invalidParams.Add(request.NewErrParamRequired("S3DataSource")) - } if s.S3DataSource != nil { if err := s.S3DataSource.Validate(); err != nil { invalidParams.AddNested("S3DataSource", err.(request.ErrInvalidParams)) @@ -12487,9 +12524,7 @@ type DescribeHyperParameterTuningJobOutput struct { // The HyperParameterTrainingJobDefinition object that specifies the definition // of the training jobs that this tuning job launches. - // - // TrainingJobDefinition is a required field - TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure" required:"true"` + TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure"` // The TrainingJobStatusCounters object that specifies the number of training // jobs, categorized by status, that this tuning job launched. @@ -14930,6 +14965,16 @@ type HumanTaskConfig struct { // // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass // + // Asia Pacific (Sydney (ap-southeast-1): + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass + // // PreHumanTaskLambdaArn is a required field PreHumanTaskLambdaArn *string `type:"string" required:"true"` @@ -15685,15 +15730,11 @@ type HyperParameterTuningJobConfig struct { // The HyperParameterTuningJobObjective object that specifies the objective // metric for this tuning job. - // - // HyperParameterTuningJobObjective is a required field - HyperParameterTuningJobObjective *HyperParameterTuningJobObjective `type:"structure" required:"true"` + HyperParameterTuningJobObjective *HyperParameterTuningJobObjective `type:"structure"` // The ParameterRanges object that specifies the ranges of hyperparameters that // this tuning job searches. - // - // ParameterRanges is a required field - ParameterRanges *ParameterRanges `type:"structure" required:"true"` + ParameterRanges *ParameterRanges `type:"structure"` // The ResourceLimits object that specifies the maximum number of training jobs // and parallel training jobs for this tuning job. @@ -15736,12 +15777,6 @@ func (s HyperParameterTuningJobConfig) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *HyperParameterTuningJobConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HyperParameterTuningJobConfig"} - if s.HyperParameterTuningJobObjective == nil { - invalidParams.Add(request.NewErrParamRequired("HyperParameterTuningJobObjective")) - } - if s.ParameterRanges == nil { - invalidParams.Add(request.NewErrParamRequired("ParameterRanges")) - } if s.ResourceLimits == nil { invalidParams.Add(request.NewErrParamRequired("ResourceLimits")) } @@ -16357,7 +16392,7 @@ type IntegerParameterRange struct { // The scale that hyperparameter tuning uses to search the hyperparameter range. // For information about choosing a hyperparameter scale, see Hyperparameter - // Range Scaling (http://docs.aws.amazon.com//sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type). + // Scaling (http://docs.aws.amazon.com//sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type). // One of the following values: // // AutoAmazon SageMaker hyperparameter tuning chooses the best scale for the @@ -16751,6 +16786,9 @@ type LabelingJobForWorkteamSummary struct { // The name of the labeling job that the work team is assigned to. LabelingJobName *string `min:"1" type:"string"` + // The configured number of workers per data object. + NumberOfHumanWorkersPerDataObject *int64 `min:"1" type:"integer"` + // WorkRequesterAccountId is a required field WorkRequesterAccountId *string `type:"string" required:"true"` } @@ -16789,6 +16827,12 @@ func (s *LabelingJobForWorkteamSummary) SetLabelingJobName(v string) *LabelingJo return s } +// SetNumberOfHumanWorkersPerDataObject sets the NumberOfHumanWorkersPerDataObject field's value. +func (s *LabelingJobForWorkteamSummary) SetNumberOfHumanWorkersPerDataObject(v int64) *LabelingJobForWorkteamSummary { + s.NumberOfHumanWorkersPerDataObject = &v + return s +} + // SetWorkRequesterAccountId sets the WorkRequesterAccountId field's value. func (s *LabelingJobForWorkteamSummary) SetWorkRequesterAccountId(v string) *LabelingJobForWorkteamSummary { s.WorkRequesterAccountId = &v @@ -17649,8 +17693,8 @@ func (s *ListCompilationJobsOutput) SetNextToken(v string) *ListCompilationJobsO type ListEndpointConfigsInput struct { _ struct{} `type:"structure"` - // A filter that returns only endpoint configurations created after the specified - // time (timestamp). + // A filter that returns only endpoint configurations with a creation time greater + // than or equal to the specified time (timestamp). CreationTimeAfter *time.Time `type:"timestamp"` // A filter that returns only endpoint configurations created before the specified @@ -17779,8 +17823,8 @@ func (s *ListEndpointConfigsOutput) SetNextToken(v string) *ListEndpointConfigsO type ListEndpointsInput struct { _ struct{} `type:"structure"` - // A filter that returns only endpoints that were created after the specified - // time (timestamp). + // A filter that returns only endpoints with a creation time greater than or + // equal to the specified time (timestamp). CreationTimeAfter *time.Time `type:"timestamp"` // A filter that returns only endpoints that were created before the specified @@ -18534,7 +18578,8 @@ func (s *ListModelPackagesOutput) SetNextToken(v string) *ListModelPackagesOutpu type ListModelsInput struct { _ struct{} `type:"structure"` - // A filter that returns only models created after the specified time (timestamp). + // A filter that returns only models with a creation time greater than or equal + // to the specified time (timestamp). CreationTimeAfter *time.Time `type:"timestamp"` // A filter that returns only models created before the specified time (timestamp). @@ -20667,6 +20712,31 @@ func (s *NotebookInstanceSummary) SetUrl(v string) *NotebookInstanceSummary { return s } +// Configures SNS notifications of available or expiring work items for work +// teams. +type NotificationConfiguration struct { + _ struct{} `type:"structure"` + + // The ARN for the SNS topic to which notifications should be published. + NotificationTopicArn *string `type:"string"` +} + +// String returns the string representation +func (s NotificationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotificationConfiguration) GoString() string { + return s.String() +} + +// SetNotificationTopicArn sets the NotificationTopicArn field's value. +func (s *NotificationConfiguration) SetNotificationTopicArn(v string) *NotificationConfiguration { + s.NotificationTopicArn = &v + return s +} + // Specifies the number of training jobs that this hyperparameter tuning job // launched, categorized by the status of their objective metric. The objective // metric status shows whether the final objective metric for the training job @@ -24405,6 +24475,10 @@ type TransformS3DataSource struct { // file containing a list of object keys that you want Amazon SageMaker to use // for batch transform. // + // The following values are compatible: ManifestFile, S3Prefix + // + // The following value is not compatible: AugmentedManifestFile + // // S3DataType is a required field S3DataType *string `type:"string" required:"true" enum:"S3DataType"` @@ -24891,19 +24965,27 @@ type UpdateNotebookInstanceInput struct { DefaultCodeRepository *string `min:"1" type:"string"` // A list of the Elastic Inference (EI) instance types to remove from this notebook - // instance. + // instance. This operation is idempotent. If you specify an accelerator type + // that is not associated with the notebook instance when you call this method, + // it does not throw an error. DisassociateAcceleratorTypes *bool `type:"boolean"` // A list of names or URLs of the default Git repositories to remove from this - // notebook instance. + // notebook instance. This operation is idempotent. If you specify a Git repository + // that is not associated with the notebook instance when you call this method, + // it does not throw an error. DisassociateAdditionalCodeRepositories *bool `type:"boolean"` // The name or URL of the default Git repository to remove from this notebook - // instance. + // instance. This operation is idempotent. If you specify a Git repository that + // is not associated with the notebook instance when you call this method, it + // does not throw an error. DisassociateDefaultCodeRepository *bool `type:"boolean"` // Set to true to remove the notebook instance lifecycle configuration currently - // associated with the notebook instance. + // associated with the notebook instance. This operation is idempotent. If you + // specify a lifecycle configuration that is not associated with the notebook + // instance when you call this method, it does not throw an error. DisassociateLifecycleConfig *bool `type:"boolean"` // The Amazon ML compute instance type. @@ -25163,6 +25245,9 @@ type UpdateWorkteamInput struct { // A list of MemberDefinition objects that contain the updated work team members. MemberDefinitions []*MemberDefinition `min:"1" type:"list"` + // Configures SNS topic notifications for available or expiring work items + NotificationConfiguration *NotificationConfiguration `type:"structure"` + // The name of the work team to update. // // WorkteamName is a required field @@ -25223,6 +25308,12 @@ func (s *UpdateWorkteamInput) SetMemberDefinitions(v []*MemberDefinition) *Updat return s } +// SetNotificationConfiguration sets the NotificationConfiguration field's value. +func (s *UpdateWorkteamInput) SetNotificationConfiguration(v *NotificationConfiguration) *UpdateWorkteamInput { + s.NotificationConfiguration = v + return s +} + // SetWorkteamName sets the WorkteamName field's value. func (s *UpdateWorkteamInput) SetWorkteamName(v string) *UpdateWorkteamInput { s.WorkteamName = &v @@ -25271,6 +25362,11 @@ type VpcConfig struct { // The ID of the subnets in the VPC to which you want to connect your training // job or model. // + // Amazon EC2 P3 accelerated computing instances are not available in the c/d/e + // availability zones of region us-east-1. If you want to create endpoints with + // P3 instances in VPC mode in region us-east-1, create subnets in a/b/f availability + // zones instead. + // // Subnets is a required field Subnets []*string `min:"1" type:"list" required:"true"` } @@ -25339,6 +25435,10 @@ type Workteam struct { // MemberDefinitions is a required field MemberDefinitions []*MemberDefinition `min:"1" type:"list" required:"true"` + // Configures SNS notifications of available or expiring work items for work + // teams. + NotificationConfiguration *NotificationConfiguration `type:"structure"` + // The Amazon Marketplace identifier for a vendor's work team. ProductListingIds []*string `type:"list"` @@ -25391,6 +25491,12 @@ func (s *Workteam) SetMemberDefinitions(v []*MemberDefinition) *Workteam { return s } +// SetNotificationConfiguration sets the NotificationConfiguration field's value. +func (s *Workteam) SetNotificationConfiguration(v *NotificationConfiguration) *Workteam { + s.NotificationConfiguration = v + return s +} + // SetProductListingIds sets the ProductListingIds field's value. func (s *Workteam) SetProductListingIds(v []*string) *Workteam { s.ProductListingIds = v @@ -26232,6 +26338,9 @@ const ( ) const ( + // TargetDeviceLambda is a TargetDevice enum value + TargetDeviceLambda = "lambda" + // TargetDeviceMlM4 is a TargetDevice enum value TargetDeviceMlM4 = "ml_m4" @@ -26256,6 +26365,9 @@ const ( // TargetDeviceJetsonTx2 is a TargetDevice enum value TargetDeviceJetsonTx2 = "jetson_tx2" + // TargetDeviceJetsonNano is a TargetDevice enum value + TargetDeviceJetsonNano = "jetson_nano" + // TargetDeviceRasp3b is a TargetDevice enum value TargetDeviceRasp3b = "rasp3b" diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go index 31d0756f635..9ae27ae9ba7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go @@ -18093,6 +18093,44 @@ type UpdateConstraintInput struct { // // Id is a required field Id *string `min:"1" type:"string" required:"true"` + + // The constraint parameters, in JSON format. The syntax depends on the constraint + // type as follows: + // + // LAUNCHSpecify the RoleArn property as follows: + // + // {"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"} + // + // You cannot have both a LAUNCH and a STACKSET constraint. + // + // You also cannot have more than one LAUNCH constraint on a product and portfolio. + // + // NOTIFICATIONSpecify the NotificationArns property as follows: + // + // {"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]} + // + // RESOURCE_UPDATESpecify the TagUpdatesOnProvisionedProduct property as follows: + // + // {"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}} + // + // The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED + // or NOT_ALLOWED. + // + // STACKSETSpecify the Parameters property as follows: + // + // {"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList": + // [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}} + // + // You cannot have both a LAUNCH and a STACKSET constraint. + // + // You also cannot have more than one STACKSET constraint on a product and portfolio. + // + // Products with a STACKSET constraint will launch an AWS CloudFormation stack + // set. + // + // TEMPLATESpecify the Rules property. For more information, see Template Constraint + // Rules (http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html). + Parameters *string `type:"string"` } // String returns the string representation @@ -18139,6 +18177,12 @@ func (s *UpdateConstraintInput) SetId(v string) *UpdateConstraintInput { return s } +// SetParameters sets the Parameters field's value. +func (s *UpdateConstraintInput) SetParameters(v string) *UpdateConstraintInput { + s.Parameters = &v + return s +} + type UpdateConstraintOutput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index fc05210ac98..1853d0ec88a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -3,6 +3,7 @@ package sts import ( + "fmt" "time" "github.com/aws/aws-sdk-go/aws" @@ -58,9 +59,9 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // Returns a set of temporary security credentials that you can use to access // AWS resources that you might not normally have access to. These temporary // credentials consist of an access key ID, a secret access key, and a security -// token. Typically, you use AssumeRole for cross-account access or federation. -// For a comparison of AssumeRole with other API operations that produce temporary -// credentials, see Requesting Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// token. Typically, you use AssumeRole within your account or for cross-account +// access. For a comparison of AssumeRole with other API operations that produce +// temporary credentials, see Requesting Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) // and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // in the IAM User Guide. // @@ -71,21 +72,10 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // to access resources in each account. You could create long-term credentials // in each account to access those resources. However, managing all those credentials // and remembering which one can access which account can be time consuming. -// Instead, you can create one set of long-term credentials in one account and -// then use temporary security credentials to access all the other accounts +// Instead, you can create one set of long-term credentials in one account. +// Then use temporary security credentials to access all the other accounts // by assuming roles in those accounts. For more information about roles, see -// IAM Roles (Delegation and Federation) (https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) -// in the IAM User Guide. -// -// For federation, you can, for example, grant single sign-on access to the -// AWS Management Console. If you already have an identity and authentication -// system in your network, you don't have to recreate identities in AWS in order -// to grant them access to AWS. Instead, after a user has been authenticated, -// you call AssumeRole (and specify the role with the appropriate permissions) -// to get temporary security credentials for that user. With those temporary -// security credentials, you construct a sign-in URL from which users can access -// the console. For more information, see Common Scenarios for Temporary Credentials -// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html#sts-introduction) +// IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) // in the IAM User Guide. // // By default, the temporary security credentials created by AssumeRole last @@ -103,51 +93,54 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // // The temporary security credentials created by AssumeRole can be used to make // API calls to any AWS service with the following exception: You cannot call -// the AWS STS service's GetFederationToken or GetSessionToken API operations. -// -// (Optional) You can pass an IAM permissions policy to this operation. If you -// pass a policy to this operation, the resulting temporary credentials have -// the permissions of the assumed role and the policy that you pass. This gives -// you a way to further restrict the permissions for the resulting temporary -// security credentials. You cannot use the passed policy to grant permissions -// that are in excess of those allowed by the permissions policy of the role -// that is being assumed. For more information, see Permissions for AssumeRole, -// AssumeRoleWithSAML, and AssumeRoleWithWebIdentity (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// the AWS STS GetFederationToken or GetSessionToken API operations. +// +// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// to this operation. You can pass a single JSON policy document to use as an +// inline session policy. You can also specify up to 10 managed policies to +// use as managed session policies. The plain text that you use for both inline +// and managed session policies shouldn't exceed 2048 characters. 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/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // -// To assume a role, your AWS account must be trusted by the role. The trust -// relationship is defined in the role's trust policy when the role is created. -// That trust policy states which accounts are allowed to delegate access to -// this account's role. +// To assume a role from a different account, your AWS account must be trusted +// by the role. The trust relationship is defined in the role's trust policy +// when the role is created. That trust policy states which accounts are allowed +// to delegate that access to users in the account. // -// The user who wants to access the role must also have permissions delegated -// from the role's administrator. If the user and the role are in a different -// account, then the user's administrator must attach a policy. That attached -// policy must allow the user to call AssumeRole for the ARN of the role in -// the other account. If the user is in the same account as the role, then you -// can do either of the following: +// A user who wants to access a role in a different account must also have permissions +// that are delegated from the user account administrator. The administrator +// must attach a policy that allows the user to call AssumeRole for the ARN +// of the role in the other account. If the user is in the same account as the +// role, then you can do either of the following: // // * Attach a policy to the user (identical to the previous user in a different -// account) +// account). // // * Add the user as a principal directly in the role's trust policy. // -// In this case, the trust policy acts as the only resource-based policy in -// IAM. Users in the same account as the role do not need explicit permission -// to assume the role. For more information about trust policies and resource-based -// policies, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) +// In this case, the trust policy acts as an IAM resource-based policy. Users +// in the same account as the role do not need explicit permission to assume +// the role. For more information about trust policies and resource-based policies, +// see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) // in the IAM User Guide. // // Using MFA with AssumeRole // // (Optional) You can include multi-factor authentication (MFA) information -// when you call AssumeRole. This is useful for cross-account scenarios in which -// you want to make sure that the user who is assuming the role has been authenticated -// using an AWS MFA device. In that scenario, the trust policy of the role being -// assumed includes a condition that tests for MFA authentication. If the caller -// does not include valid MFA information, the request to assume the role is -// denied. The condition in a trust policy that tests for MFA authentication -// might look like the following example. +// when you call AssumeRole. This is useful for cross-account scenarios to ensure +// that the user that assumes the role has been authenticated with an AWS MFA +// device. In that scenario, the trust policy of the role being assumed includes +// a condition that tests for MFA authentication. If the caller does not include +// valid MFA information, the request to assume the role is denied. The condition +// in a trust policy that tests for MFA authentication might look like the following +// example. // // "Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}} // @@ -280,16 +273,20 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // // The temporary security credentials created by AssumeRoleWithSAML can be used // to make API calls to any AWS service with the following exception: you cannot -// call the STS service's GetFederationToken or GetSessionToken API operations. -// -// Optionally, you can pass an IAM permissions policy to this operation. If -// you pass a policy to this operation, the resulting temporary credentials -// have the permissions of the assumed role and the policy that you pass. This -// gives you a way to further restrict the permissions for the resulting temporary -// security credentials. You cannot use the passed policy to grant permissions -// that are in excess of those allowed by the permissions policy of the role -// that is being assumed. For more information, see Permissions for AssumeRole, -// AssumeRoleWithSAML, and AssumeRoleWithWebIdentity (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// call the STS GetFederationToken or GetSessionToken API operations. +// +// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// to this operation. You can pass a single JSON policy document to use as an +// inline session policy. You can also specify up to 10 managed policies to +// use as managed session policies. The plain text that you use for both inline +// and managed session policies shouldn't exceed 2048 characters. 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/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // // Before your application can call AssumeRoleWithSAML, you must configure your @@ -440,8 +437,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // identity throughout the lifetime of an application. // // To learn more about Amazon Cognito, see Amazon Cognito Overview (https://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840) -// in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview -// (https://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664) +// in AWS SDK for Android Developer Guide and Amazon Cognito Overview (https://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664) // in the AWS SDK for iOS Developer Guide. // // Calling AssumeRoleWithWebIdentity does not require the use of AWS security @@ -475,17 +471,20 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // // The temporary security credentials created by AssumeRoleWithWebIdentity can // be used to make API calls to any AWS service with the following exception: -// you cannot call the STS service's GetFederationToken or GetSessionToken API -// operations. -// -// (Optional) You can pass an IAM permissions policy to this operation. If you -// pass a policy to this operation, the resulting temporary credentials have -// the permissions of the assumed role and the policy that you pass. This gives -// you a way to further restrict the permissions for the resulting temporary -// security credentials. You cannot use the passed policy to grant permissions -// that are in excess of those allowed by the permissions policy of the role -// that is being assumed. For more information, see Permissions for AssumeRole, -// AssumeRoleWithSAML, and AssumeRoleWithWebIdentity (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// you cannot call the STS GetFederationToken or GetSessionToken API operations. +// +// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// to this operation. You can pass a single JSON policy document to use as an +// inline session policy. You can also specify up to 10 managed policies to +// use as managed session policies. The plain text that you use for both inline +// and managed session policies shouldn't exceed 2048 characters. 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/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // // Before your application can call AssumeRoleWithWebIdentity, you must have @@ -866,18 +865,25 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // // Permissions // -// You must pass an IAM permissions policy to GetFederationToken. When you pass -// a policy to this operation, the resulting temporary credentials are defined -// by the intersection of your IAM user policies and the passed policy . The -// passed policy defines the permissions of the federated user. AWS allows the -// federated user's request only when both the attached policy and the IAM user -// policy explicitly allow the federated user to perform the requested action. -// The passed policy cannot grant more permissions than those that are defined -// in the IAM user policy. For more information about how permissions work, -// see Permissions for GetFederationToken (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html). -// For information about using GetFederationToken to create temporary security -// credentials, see GetFederationToken—Federation Through a Custom Identity -// Broker (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken). +// You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// to this operation. You can pass a single JSON policy document to use as an +// inline session policy. You can also specify up to 10 managed policies to +// use as managed session policies. The plain text that you use for both inline +// and managed session policies shouldn't exceed 2048 characters. +// +// Though the session policy parameters are optional, if you do not pass a policy, +// then the resulting federated user session has no permissions. The only exception +// is when the credentials are used to access a resource that has a resource-based +// policy that specifically references the federated user session in the Principal +// element of the policy. When you pass session policies, the session permissions +// are the intersection of the IAM user policies and the session policies that +// you pass. This gives you a way to further restrict the permissions for a +// federated user. You cannot use session policies to grant more permissions +// than those that are defined in the permissions policy of the IAM user. For +// more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session) +// in the IAM User Guide. For information about using GetFederationToken to +// create temporary security credentials, see GetFederationToken—Federation +// Through a Custom Identity Broker (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken). // // 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 @@ -984,12 +990,12 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // in the IAM User Guide. // // The GetSessionToken operation must be called by using the long-term AWS security -// credentials of the AWS account or an IAM user. Credentials that are created -// by IAM users are valid for the duration that you specify. This duration can -// range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 -// hours), with a default of 43,200 seconds (12 hours). Credentials that are -// created by using account credentials can range from 900 seconds (15 minutes) -// up to a maximum of 3,600 seconds (1 hour), with a default of 1 hour. +// credentials of the AWS account root user or an IAM user. Credentials that +// are created by IAM users are valid for the duration that you specify. This +// duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 +// seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials +// based on account credentials can range from 900 seconds (15 minutes) up to +// 3,600 seconds (1 hour), with a default of 1 hour. // // The temporary security credentials created by GetSessionToken can be used // to make API calls to any AWS service with the following exceptions: @@ -1004,13 +1010,12 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // by creating one or more IAM users, giving them the necessary permissions, // and using IAM users for everyday interaction with AWS. // -// The permissions associated with the temporary security credentials returned -// by GetSessionToken are based on the permissions associated with account or -// IAM user whose credentials are used to call the operation. If GetSessionToken -// is called using AWS account root user credentials, the temporary credentials -// have root user permissions. Similarly, if GetSessionToken is called using -// the credentials of an IAM user, the temporary credentials have the same permissions -// as the IAM user. +// The credentials that are returned by GetSessionToken are based on permissions +// associated with the user whose credentials were used to call the operation. +// If GetSessionToken is called using AWS account root user credentials, the +// temporary credentials have root user permissions. Similarly, if GetSessionToken +// is called using the credentials of an IAM user, the temporary credentials +// have the same permissions as the IAM user. // // For more information about using GetSessionToken to create temporary credentials, // go to Temporary Credentials for Users in Untrusted Environments (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) @@ -1080,13 +1085,13 @@ type AssumeRoleInput struct { // A unique identifier that might be required when you assume a role in another // account. If the administrator of the account to which the role belongs provided // you with an external ID, then provide that value in the ExternalId parameter. - // This value can be any string, such as a passphrase or account number. Because - // a cross-account role is usually set up to trust everyone in an account, the - // administrator of the trusting account might send an external ID to the administrator - // of the trusted account. That way, only someone with the ID can assume the - // role, rather than everyone in the account. For more information about the - // external ID, see How to Use an External ID When Granting Access to Your AWS - // Resources to a Third Party (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) + // This value can be any string, such as a passphrase or account number. A cross-account + // role is usually set up to trust everyone in an account. Therefore, the administrator + // of the trusting account might send an external ID to the administrator of + // the trusted account. That way, only someone with the ID can assume the role, + // rather than everyone in the account. For more information about the external + // ID, see How to Use an External ID When Granting Access to Your AWS Resources + // to a Third Party (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) // in the IAM User Guide. // // The regex used to validate this parameter is a string of characters consisting @@ -1094,30 +1099,56 @@ type AssumeRoleInput struct { // also include underscores or any of the following characters: =,.@:/- ExternalId *string `min:"2" type:"string"` - // An IAM policy in JSON format. + // An IAM policy in JSON format that you want to use as an inline session policy. // - // This parameter is optional. If you pass a policy to this operation, the resulting - // temporary credentials have the permissions of the assumed role and the policy - // that you pass. This gives you a way to further restrict the permissions for - // the resulting temporary security credentials. You cannot use the passed policy - // to grant permissions that are in excess of those allowed by the permissions - // policy of the role that is being assumed. For more information, see Permissions - // for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) + // This parameter is optional. 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/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // The plain text that you use for both inline and managed session policies + // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // character from the space character to the end of the valid character list + // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The policy plaintext must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, where 100 percent is the maximum allowed - // size. + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. Policy *string `min:"1" type:"string"` + // The Amazon Resource Names (ARNs) of the IAM managed policies that 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 shouldn't exceed 2048 characters. For more information about ARNs, + // see Amazon Resource Names (ARNs) and AWS Service Namespaces (general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is 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/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + PolicyArns []*PolicyDescriptorType `type:"list"` + // The Amazon Resource Name (ARN) of the role to assume. // // RoleArn is a required field @@ -1201,6 +1232,16 @@ func (s *AssumeRoleInput) Validate() error { if s.TokenCode != nil && len(*s.TokenCode) < 6 { invalidParams.Add(request.NewErrParamMinLen("TokenCode", 6)) } + if s.PolicyArns != nil { + for i, v := range s.PolicyArns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyArns", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1226,6 +1267,12 @@ func (s *AssumeRoleInput) SetPolicy(v string) *AssumeRoleInput { return s } +// SetPolicyArns sets the PolicyArns field's value. +func (s *AssumeRoleInput) SetPolicyArns(v []*PolicyDescriptorType) *AssumeRoleInput { + s.PolicyArns = v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *AssumeRoleInput) SetRoleArn(v string) *AssumeRoleInput { s.RoleArn = &v @@ -1267,8 +1314,6 @@ type AssumeRoleOutput struct { // // The size of the security token that STS API operations return is not fixed. // We strongly recommend that you make no assumptions about the maximum size. - // As of this writing, the typical size is less than 4096 bytes, but that can - // vary. Also, future updates to AWS might require larger sizes. Credentials *Credentials `type:"structure"` // A percentage value that indicates the size of the policy in packed form. @@ -1332,31 +1377,56 @@ type AssumeRoleWithSAMLInput struct { // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` - // An IAM policy in JSON format. + // An IAM policy in JSON format that you want to use as an inline session policy. // - // The policy parameter is optional. If you pass a policy to this operation, - // the resulting temporary credentials have the permissions of the assumed role - // and the policy that you pass. This gives you a way to further restrict the - // permissions for the resulting temporary security credentials. You cannot - // use the passed policy to grant permissions that are in excess of those allowed - // by the permissions policy of the role that is being assumed. For more information, - // see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity - // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) + // This parameter is optional. 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/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // The plain text that you use for both inline and managed session policies + // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // character from the space character to the end of the valid character list + // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The policy plaintext must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, where 100 percent is the maximum allowed - // size. + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. Policy *string `min:"1" type:"string"` + // The Amazon Resource Names (ARNs) of the IAM managed policies that 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 shouldn't exceed 2048 characters. For more information about ARNs, + // see Amazon Resource Names (ARNs) and AWS Service Namespaces (general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is 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/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + PolicyArns []*PolicyDescriptorType `type:"list"` + // The Amazon Resource Name (ARN) of the SAML provider in IAM that describes // the IdP. // @@ -1414,6 +1484,16 @@ func (s *AssumeRoleWithSAMLInput) Validate() error { if s.SAMLAssertion != nil && len(*s.SAMLAssertion) < 4 { invalidParams.Add(request.NewErrParamMinLen("SAMLAssertion", 4)) } + if s.PolicyArns != nil { + for i, v := range s.PolicyArns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyArns", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1433,6 +1513,12 @@ func (s *AssumeRoleWithSAMLInput) SetPolicy(v string) *AssumeRoleWithSAMLInput { return s } +// SetPolicyArns sets the PolicyArns field's value. +func (s *AssumeRoleWithSAMLInput) SetPolicyArns(v []*PolicyDescriptorType) *AssumeRoleWithSAMLInput { + s.PolicyArns = v + return s +} + // SetPrincipalArn sets the PrincipalArn field's value. func (s *AssumeRoleWithSAMLInput) SetPrincipalArn(v string) *AssumeRoleWithSAMLInput { s.PrincipalArn = &v @@ -1469,8 +1555,6 @@ type AssumeRoleWithSAMLOutput struct { // // The size of the security token that STS API operations return is not fixed. // We strongly recommend that you make no assumptions about the maximum size. - // As of this writing, the typical size is less than 4096 bytes, but that can - // vary. Also, future updates to AWS might require larger sizes. Credentials *Credentials `type:"structure"` // The value of the Issuer element of the SAML assertion. @@ -1588,31 +1672,56 @@ type AssumeRoleWithWebIdentityInput struct { // in the IAM User Guide. DurationSeconds *int64 `min:"900" type:"integer"` - // An IAM policy in JSON format. + // An IAM policy in JSON format that you want to use as an inline session policy. // - // The policy parameter is optional. If you pass a policy to this operation, - // the resulting temporary credentials have the permissions of the assumed role - // and the policy that you pass. This gives you a way to further restrict the - // permissions for the resulting temporary security credentials. You cannot - // use the passed policy to grant permissions that are in excess of those allowed - // by the permissions policy of the role that is being assumed. For more information, - // see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity - // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) + // This parameter is optional. 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/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // The plain text that you use for both inline and managed session policies + // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // character from the space character to the end of the valid character list + // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The policy plaintext must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, where 100 percent is the maximum allowed - // size. + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. Policy *string `min:"1" type:"string"` + // The Amazon Resource Names (ARNs) of the IAM managed policies that 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 shouldn't exceed 2048 characters. For more information about ARNs, + // see Amazon Resource Names (ARNs) and AWS Service Namespaces (general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is 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/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + PolicyArns []*PolicyDescriptorType `type:"list"` + // The fully qualified host component of the domain name of the identity provider. // // Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com @@ -1689,6 +1798,16 @@ func (s *AssumeRoleWithWebIdentityInput) Validate() error { if s.WebIdentityToken != nil && len(*s.WebIdentityToken) < 4 { invalidParams.Add(request.NewErrParamMinLen("WebIdentityToken", 4)) } + if s.PolicyArns != nil { + for i, v := range s.PolicyArns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyArns", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1708,6 +1827,12 @@ func (s *AssumeRoleWithWebIdentityInput) SetPolicy(v string) *AssumeRoleWithWebI return s } +// SetPolicyArns sets the PolicyArns field's value. +func (s *AssumeRoleWithWebIdentityInput) SetPolicyArns(v []*PolicyDescriptorType) *AssumeRoleWithWebIdentityInput { + s.PolicyArns = v + return s +} + // SetProviderId sets the ProviderId field's value. func (s *AssumeRoleWithWebIdentityInput) SetProviderId(v string) *AssumeRoleWithWebIdentityInput { s.ProviderId = &v @@ -1754,8 +1879,6 @@ type AssumeRoleWithWebIdentityOutput struct { // // The size of the security token that STS API operations return is not fixed. // We strongly recommend that you make no assumptions about the maximum size. - // As of this writing, the typical size is less than 4096 bytes, but that can - // vary. Also, future updates to AWS might require larger sizes. Credentials *Credentials `type:"structure"` // A percentage value that indicates the size of the policy in packed form. @@ -2118,30 +2241,73 @@ type GetFederationTokenInput struct { // Name is a required field Name *string `min:"2" type:"string" required:"true"` - // An IAM policy in JSON format. You must pass an IAM permissions policy to - // GetFederationToken. When you pass a policy to this operation, the resulting - // temporary credentials are defined by the intersection of your IAM user policies - // and the policy that you pass. The passed policy defines the permissions of - // the federated user. AWS allows the federated user's request only when both - // the attached policy and the IAM user policy explicitly allow the federated - // user to perform the requested action. The passed policy cannot grant more - // permissions than those that are defined in the IAM user policy. - // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), - // and carriage return (\u000D) characters. + // An IAM policy in JSON format that you want to use as an inline session policy. // - // The policy plaintext must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, where 100 percent is the maximum allowed - // size. + // You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // to this operation. You can pass a single JSON policy document to use as an + // inline session policy. You can also specify up to 10 managed policies to + // use as managed session policies. // - // For more information about how permissions work, see Permissions for GetFederationToken - // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html). + // This parameter is optional. However, if you do not pass any session policies, + // then the resulting federated user session has no permissions. The only exception + // is when the credentials are used to access a resource that has a resource-based + // policy that specifically references the federated user session in the Principal + // element of the policy. + // + // When you pass session policies, the session permissions are the intersection + // of the IAM user policies and the session policies that you pass. This gives + // you a way to further restrict the permissions for a federated user. You cannot + // use session policies to grant more permissions than those that are defined + // in the permissions policy of the IAM user. For more information, see Session + // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + // + // The plain text that you use for both inline and managed session policies + // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // character from the space character to the end of the valid character list + // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // and carriage return (\u000D) characters. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. Policy *string `min:"1" type:"string"` + + // The Amazon Resource Names (ARNs) of the IAM managed policies that you want + // to use as a managed session policy. The policies must exist in the same account + // as the IAM user that is requesting federated access. + // + // You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) + // to this operation. You can pass a single JSON policy document to use as an + // inline session policy. You can also specify up to 10 managed policies to + // use as managed session policies. The plain text that you use for both inline + // and managed session policies shouldn't exceed 2048 characters. You can provide + // up to 10 managed policy ARNs. For more information about ARNs, see Amazon + // Resource Names (ARNs) and AWS Service Namespaces (general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // This parameter is optional. However, if you do not pass any session policies, + // then the resulting federated user session has no permissions. The only exception + // is when the credentials are used to access a resource that has a resource-based + // policy that specifically references the federated user session in the Principal + // element of the policy. + // + // When you pass session policies, the session permissions are the intersection + // of the IAM user policies and the session policies that you pass. This gives + // you a way to further restrict the permissions for a federated user. You cannot + // use session policies to grant more permissions than those that are defined + // in the permissions policy of the IAM user. For more information, see Session + // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM/latest/UserGuide/access_policies.html#policies_session) + // in the IAM User Guide. + // + // The characters in this parameter count towards the 2048 character session + // policy guideline. However, an AWS conversion compresses the session policies + // into a packed binary format that has a separate limit. This is the enforced + // limit. The PackedPolicySize response element indicates by percentage how + // close the policy is to the upper size limit. + PolicyArns []*PolicyDescriptorType `type:"list"` } // String returns the string representation @@ -2169,6 +2335,16 @@ func (s *GetFederationTokenInput) Validate() error { if s.Policy != nil && len(*s.Policy) < 1 { invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) } + if s.PolicyArns != nil { + for i, v := range s.PolicyArns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyArns", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2194,6 +2370,12 @@ func (s *GetFederationTokenInput) SetPolicy(v string) *GetFederationTokenInput { return s } +// SetPolicyArns sets the PolicyArns field's value. +func (s *GetFederationTokenInput) SetPolicyArns(v []*PolicyDescriptorType) *GetFederationTokenInput { + s.PolicyArns = v + return s +} + // Contains the response to a successful GetFederationToken request, including // temporary AWS credentials that can be used to make AWS requests. type GetFederationTokenOutput struct { @@ -2204,8 +2386,6 @@ type GetFederationTokenOutput struct { // // The size of the security token that STS API operations return is not fixed. // We strongly recommend that you make no assumptions about the maximum size. - // As of this writing, the typical size is less than 4096 bytes, but that can - // vary. Also, future updates to AWS might require larger sizes. Credentials *Credentials `type:"structure"` // Identifiers for the federated user associated with the credentials (such @@ -2340,8 +2520,6 @@ type GetSessionTokenOutput struct { // // The size of the security token that STS API operations return is not fixed. // We strongly recommend that you make no assumptions about the maximum size. - // As of this writing, the typical size is less than 4096 bytes, but that can - // vary. Also, future updates to AWS might require larger sizes. Credentials *Credentials `type:"structure"` } @@ -2360,3 +2538,44 @@ func (s *GetSessionTokenOutput) SetCredentials(v *Credentials) *GetSessionTokenO s.Credentials = v return s } + +// A reference to the IAM managed policy that is passed as a session policy +// for a role session or a federated user session. +type PolicyDescriptorType struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the IAM managed policy to use as a session + // policy for the role. For more information about ARNs, see Amazon Resource + // Names (ARNs) and AWS Service Namespaces (general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + Arn *string `locationName:"arn" min:"20" type:"string"` +} + +// String returns the string representation +func (s PolicyDescriptorType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PolicyDescriptorType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PolicyDescriptorType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PolicyDescriptorType"} + if s.Arn != nil && len(*s.Arn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *PolicyDescriptorType) SetArn(v string) *PolicyDescriptorType { + s.Arn = &v + return s +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 1ffaf0e4b59..9805f2d96b3 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -13,7 +13,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.19.26 +# github.com/aws/aws-sdk-go v1.19.28 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr