From 540127aae7974af9fe5f83ef67dc056c28d79927 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 23 Nov 2020 11:09:47 -0800 Subject: [PATCH] Release v1.35.34 (2020-11-23) (#3650) Release v1.35.34 (2020-11-23) === ### Service Client Updates * `service/application-insights`: Updates service API and documentation * `service/autoscaling`: Updates service documentation * Documentation updates and corrections for Amazon EC2 Auto Scaling API Reference and SDKs. * `service/codeartifact`: Updates service API and documentation * `service/codestar-connections`: Updates service API and documentation * `service/dynamodb`: Updates service API and documentation * With this release, you can capture data changes in any Amazon DynamoDB table as an Amazon Kinesis data stream. You also can use PartiQL (SQL-compatible language) to manipulate data in DynamoDB tables. * `service/ec2`: Updates service API and documentation * This release adds support for Multiple Private DNS names to DescribeVpcEndpointServices response. * `service/ecs`: Updates service API and documentation * This release adds support for updating capacity providers, specifying custom instance warmup periods for capacity providers, and using deployment circuit breaker for your ECS Services. * `service/elasticache`: Updates service documentation * Documentation updates for elasticache * `service/elasticmapreduce`: Updates service API, documentation, and paginators * Add API support for EMR Studio, a new notebook-first IDE for data scientists and data engineers with single sign-on, Jupyter notebooks, automated infrastructure provisioning, and job diagnosis. * `service/forecast`: Updates service API, documentation, and paginators * `service/glue`: Updates service API and documentation * Feature1 - Glue crawler adds data lineage configuration option. Feature2 - AWS Glue Data Catalog adds APIs for PartitionIndex creation and deletion as part of Enhancement Partition Management feature. * `service/iot`: Updates service API and documentation * This release enables users to identify different file types in the over-the-air update (OTA) functionality using fileType parameter for CreateOTAUpdate API * `service/kafka`: Updates service API and documentation * `service/lambda`: Updates service API, documentation, and paginators * This release includes support for new feature: Code Signing for AWS Lambda. This adds new resources and APIs to configure Lambda functions to accept and verify signed code artifacts at deployment. * `service/license-manager`: Updates service API and documentation * `service/outposts`: Updates service API and documentation * `service/securityhub`: Updates service API, documentation, and paginators * `service/signer`: Updates service API and documentation * AWS Signer is launching code-signing for AWS Lambda. Now customers can cryptographically sign Lambda code to ensure trust, integrity, and functionality. * `service/sso-admin`: Updates service API and documentation * `service/timestream-query`: Updates service API, documentation, and paginators * `service/translate`: Updates service API, documentation, and paginators --- CHANGELOG.md | 36 + aws/endpoints/defaults.go | 11 + aws/version.go | 2 +- .../2018-11-25/api-2.json | 126 +- .../2018-11-25/docs-2.json | 142 +- .../apis/autoscaling/2011-01-01/docs-2.json | 28 +- .../apis/codeartifact/2018-09-22/api-2.json | 6 +- .../apis/codeartifact/2018-09-22/docs-2.json | 88 +- .../2019-12-01/api-2.json | 78 +- .../2019-12-01/docs-2.json | 42 +- models/apis/dynamodb/2012-08-10/api-2.json | 287 + models/apis/dynamodb/2012-08-10/docs-2.json | 169 + models/apis/ec2/2016-11-15/api-2.json | 20 + models/apis/ec2/2016-11-15/docs-2.json | 13 + models/apis/ecs/2014-11-13/api-2.json | 76 +- models/apis/ecs/2014-11-13/docs-2.json | 65 +- .../apis/elasticache/2015-02-02/docs-2.json | 2 +- .../elasticmapreduce/2009-03-31/api-2.json | 336 + .../elasticmapreduce/2009-03-31/docs-2.json | 344 +- .../2009-03-31/paginators-1.json | 10 + models/apis/forecast/2018-06-26/api-2.json | 136 + models/apis/forecast/2018-06-26/docs-2.json | 85 +- .../forecast/2018-06-26/paginators-1.json | 6 + models/apis/glue/2017-03-31/api-2.json | 124 +- models/apis/glue/2017-03-31/docs-2.json | 71 +- models/apis/iot/2015-05-28/api-2.json | 6 + models/apis/iot/2015-05-28/docs-2.json | 6 + models/apis/kafka/2018-11-14/api-2.json | 6 +- models/apis/kafka/2018-11-14/docs-2.json | 6 +- models/apis/lambda/2015-03-31/api-2.json | 440 +- models/apis/lambda/2015-03-31/docs-2.json | 211 +- .../apis/lambda/2015-03-31/paginators-1.json | 12 + .../license-manager/2018-08-01/api-2.json | 6 +- .../license-manager/2018-08-01/docs-2.json | 2 + models/apis/outposts/2019-12-03/api-2.json | 27 +- models/apis/outposts/2019-12-03/docs-2.json | 20 + models/apis/securityhub/2018-10-26/api-2.json | 182 +- .../apis/securityhub/2018-10-26/docs-2.json | 136 +- .../securityhub/2018-10-26/paginators-1.json | 5 + models/apis/signer/2017-08-25/api-2.json | 443 +- models/apis/signer/2017-08-25/docs-2.json | 247 +- models/apis/sso-admin/2020-07-20/api-2.json | 184 + models/apis/sso-admin/2020-07-20/docs-2.json | 104 + .../timestream-query/2018-11-01/api-2.json | 12 +- .../timestream-query/2018-11-01/docs-2.json | 16 +- .../2018-11-01/paginators-1.json | 3 +- models/apis/translate/2017-07-01/api-2.json | 263 + models/apis/translate/2017-07-01/docs-2.json | 172 +- .../translate/2017-07-01/paginators-1.json | 5 + models/endpoints/endpoints.json | 10 + service/applicationinsights/api.go | 371 +- service/applicationinsights/doc.go | 28 +- service/applicationinsights/errors.go | 7 + service/autoscaling/api.go | 84 +- service/codeartifact/api.go | 114 +- service/codeartifact/doc.go | 21 +- service/codestarconnections/api.go | 293 +- .../codestarconnectionsiface/interface.go | 4 + service/codestarconnections/doc.go | 6 +- service/codestarconnections/errors.go | 20 +- service/dynamodb/api.go | 6534 +++++++++------ service/dynamodb/dynamodbiface/interface.go | 28 +- service/dynamodb/errors.go | 8 + service/ec2/api.go | 33 + service/ecs/api.go | 537 +- service/ecs/ecsiface/interface.go | 4 + service/elasticache/api.go | 1 + service/emr/api.go | 7235 +++++++++++------ service/emr/doc.go | 8 +- service/emr/emriface/interface.go | 42 + service/forecastservice/api.go | 996 ++- .../forecastserviceiface/interface.go | 19 + service/glue/api.go | 584 ++ service/glue/glueiface/interface.go | 8 + service/iot/api.go | 10 + service/kafka/api.go | 25 +- service/lambda/api.go | 2571 +++++- service/lambda/errors.go | 24 + service/lambda/examples_test.go | 18 + service/lambda/lambdaiface/interface.go | 42 + service/licensemanager/api.go | 18 + service/outposts/api.go | 30 + service/securityhub/api.go | 1324 ++- service/securityhub/errors.go | 7 +- .../securityhub/securityhubiface/interface.go | 23 + service/signer/api.go | 2089 ++++- service/signer/doc.go | 25 +- service/signer/errors.go | 27 +- service/signer/signeriface/interface.go | 24 +- service/ssoadmin/api.go | 884 ++ service/ssoadmin/ssoadminiface/interface.go | 16 + service/timestreamquery/api.go | 56 + service/translate/api.go | 1835 ++++- service/translate/errors.go | 15 + service/translate/translateiface/interface.go | 27 +- 95 files changed, 24786 insertions(+), 6116 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 707d99d475..0bec993018 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,39 @@ +Release v1.35.34 (2020-11-23) +=== + +### Service Client Updates +* `service/application-insights`: Updates service API and documentation +* `service/autoscaling`: Updates service documentation + * Documentation updates and corrections for Amazon EC2 Auto Scaling API Reference and SDKs. +* `service/codeartifact`: Updates service API and documentation +* `service/codestar-connections`: Updates service API and documentation +* `service/dynamodb`: Updates service API and documentation + * With this release, you can capture data changes in any Amazon DynamoDB table as an Amazon Kinesis data stream. You also can use PartiQL (SQL-compatible language) to manipulate data in DynamoDB tables. +* `service/ec2`: Updates service API and documentation + * This release adds support for Multiple Private DNS names to DescribeVpcEndpointServices response. +* `service/ecs`: Updates service API and documentation + * This release adds support for updating capacity providers, specifying custom instance warmup periods for capacity providers, and using deployment circuit breaker for your ECS Services. +* `service/elasticache`: Updates service documentation + * Documentation updates for elasticache +* `service/elasticmapreduce`: Updates service API, documentation, and paginators + * Add API support for EMR Studio, a new notebook-first IDE for data scientists and data engineers with single sign-on, Jupyter notebooks, automated infrastructure provisioning, and job diagnosis. +* `service/forecast`: Updates service API, documentation, and paginators +* `service/glue`: Updates service API and documentation + * Feature1 - Glue crawler adds data lineage configuration option. Feature2 - AWS Glue Data Catalog adds APIs for PartitionIndex creation and deletion as part of Enhancement Partition Management feature. +* `service/iot`: Updates service API and documentation + * This release enables users to identify different file types in the over-the-air update (OTA) functionality using fileType parameter for CreateOTAUpdate API +* `service/kafka`: Updates service API and documentation +* `service/lambda`: Updates service API, documentation, and paginators + * This release includes support for new feature: Code Signing for AWS Lambda. This adds new resources and APIs to configure Lambda functions to accept and verify signed code artifacts at deployment. +* `service/license-manager`: Updates service API and documentation +* `service/outposts`: Updates service API and documentation +* `service/securityhub`: Updates service API, documentation, and paginators +* `service/signer`: Updates service API and documentation + * AWS Signer is launching code-signing for AWS Lambda. Now customers can cryptographically sign Lambda code to ensure trust, integrity, and functionality. +* `service/sso-admin`: Updates service API and documentation +* `service/timestream-query`: Updates service API, documentation, and paginators +* `service/translate`: Updates service API, documentation, and paginators + Release v1.35.33 (2020-11-20) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index e1f274f18d..e300d11724 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -6987,6 +6987,17 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "docdb": service{ + + Endpoints: endpoints{ + "cn-northwest-1": endpoint{ + Hostname: "rds.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "ds": service{ Endpoints: endpoints{ diff --git a/aws/version.go b/aws/version.go index 6807284259..cb5d91e253 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.35.33" +const SDKVersion = "1.35.34" diff --git a/models/apis/application-insights/2018-11-25/api-2.json b/models/apis/application-insights/2018-11-25/api-2.json index 33139f1351..c9f0bc12e3 100644 --- a/models/apis/application-insights/2018-11-25/api-2.json +++ b/models/apis/application-insights/2018-11-25/api-2.json @@ -27,7 +27,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"}, {"shape":"InternalServerException"}, - {"shape":"TagsAlreadyExistException"} + {"shape":"TagsAlreadyExistException"}, + {"shape":"AccessDeniedException"} ] }, "CreateComponent":{ @@ -399,19 +400,30 @@ } }, "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMsg"} + }, + "exception":true + }, "AffectedResource":{"type":"string"}, "AmazonResourceName":{ "type":"string", "max":1011, - "min":1 + "min":1, + "pattern":"^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$" }, "ApplicationComponent":{ "type":"structure", "members":{ "ComponentName":{"shape":"ComponentName"}, + "ComponentRemarks":{"shape":"Remarks"}, "ResourceType":{"shape":"ResourceType"}, + "OsType":{"shape":"OsType"}, "Tier":{"shape":"Tier"}, - "Monitor":{"shape":"Monitor"} + "Monitor":{"shape":"Monitor"}, + "DetectedWorkload":{"shape":"DetectedWorkload"} } }, "ApplicationComponentList":{ @@ -448,7 +460,8 @@ "enum":[ "EC2", "CODE_DEPLOY", - "HEALTH" + "HEALTH", + "RDS" ] }, "CodeDeployApplication":{"type":"string"}, @@ -459,9 +472,15 @@ "ComponentConfiguration":{ "type":"string", "max":10000, - "min":1 + "min":1, + "pattern":"[\\S\\s]+" + }, + "ComponentName":{ + "type":"string", + "max":1011, + "min":1, + "pattern":"(?:^[\\d\\w\\-_\\.+]*$)|(?:^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$)" }, - "ComponentName":{"type":"string"}, "ConfigurationEvent":{ "type":"structure", "members":{ @@ -484,6 +503,7 @@ "type":"string", "enum":[ "CLOUDWATCH_ALARM", + "CLOUDWATCH_LOG", "CLOUDFORMATION", "SSM_ASSOCIATION" ] @@ -523,7 +543,7 @@ ], "members":{ "ResourceGroupName":{"shape":"ResourceGroupName"}, - "ComponentName":{"shape":"ComponentName"}, + "ComponentName":{"shape":"CustomComponentName"}, "ResourceList":{"shape":"ResourceList"} } }, @@ -556,6 +576,12 @@ "ResourceGroupName":{"shape":"ResourceGroupName"} } }, + "CustomComponentName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\d\\w\\-_\\.+]*$" + }, "DeleteApplicationRequest":{ "type":"structure", "required":["ResourceGroupName"], @@ -576,7 +602,7 @@ ], "members":{ "ResourceGroupName":{"shape":"ResourceGroupName"}, - "ComponentName":{"shape":"ComponentName"} + "ComponentName":{"shape":"CustomComponentName"} } }, "DeleteComponentResponse":{ @@ -730,6 +756,15 @@ "Problem":{"shape":"Problem"} } }, + "DetectedWorkload":{ + "type":"map", + "key":{"shape":"Tier"}, + "value":{"shape":"WorkloadMetaData"} + }, + "EbsCause":{"type":"string"}, + "EbsEvent":{"type":"string"}, + "EbsRequestId":{"type":"string"}, + "EbsResult":{"type":"string"}, "Ec2State":{"type":"string"}, "EndTime":{"type":"timestamp"}, "ErrorMsg":{"type":"string"}, @@ -912,7 +947,8 @@ "LogPatternRegex":{ "type":"string", "max":50, - "min":1 + "min":1, + "pattern":"[\\S\\s]+" }, "LogPatternSetList":{ "type":"list", @@ -930,10 +966,11 @@ "max":40, "min":1 }, + "MetaDataKey":{"type":"string"}, + "MetaDataValue":{"type":"string"}, "MetricName":{"type":"string"}, "MetricNamespace":{"type":"string"}, "Monitor":{"type":"boolean"}, - "NewComponentName":{"type":"string"}, "Observation":{ "type":"structure", "members":{ @@ -964,6 +1001,17 @@ "CodeDeployApplication":{"shape":"CodeDeployApplication"}, "CodeDeployInstanceGroupId":{"shape":"CodeDeployInstanceGroupId"}, "Ec2State":{"shape":"Ec2State"}, + "RdsEventCategories":{"shape":"RdsEventCategories"}, + "RdsEventMessage":{"shape":"RdsEventMessage"}, + "S3EventName":{"shape":"S3EventName"}, + "StatesExecutionArn":{"shape":"StatesExecutionArn"}, + "StatesArn":{"shape":"StatesArn"}, + "StatesStatus":{"shape":"StatesStatus"}, + "StatesInput":{"shape":"StatesInput"}, + "EbsEvent":{"shape":"EbsEvent"}, + "EbsResult":{"shape":"EbsResult"}, + "EbsCause":{"shape":"EbsCause"}, + "EbsRequestId":{"shape":"EbsRequestId"}, "XRayFaultPercent":{"shape":"XRayFaultPercent"}, "XRayThrottlePercent":{"shape":"XRayThrottlePercent"}, "XRayErrorPercent":{"shape":"XRayErrorPercent"}, @@ -987,9 +1035,22 @@ "OpsItemSNSTopicArn":{ "type":"string", "max":300, - "min":20 + "min":20, + "pattern":"^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$" + }, + "OsType":{ + "type":"string", + "enum":[ + "WINDOWS", + "LINUX" + ] + }, + "PaginationToken":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".+" }, - "PaginationToken":{"type":"string"}, "Problem":{ "type":"structure", "members":{ @@ -1015,6 +1076,8 @@ "type":"list", "member":{"shape":"Problem"} }, + "RdsEventCategories":{"type":"string"}, + "RdsEventMessage":{"type":"string"}, "RelatedObservations":{ "type":"structure", "members":{ @@ -1026,7 +1089,8 @@ "ResourceARN":{ "type":"string", "max":1011, - "min":1 + "min":1, + "pattern":"^arn:aws(-\\w+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$" }, "ResourceGroupName":{ "type":"string", @@ -1052,7 +1116,13 @@ }, "exception":true }, - "ResourceType":{"type":"string"}, + "ResourceType":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[0-9a-zA-Z:_]*" + }, + "S3EventName":{"type":"string"}, "SeverityLevel":{ "type":"string", "enum":[ @@ -1064,6 +1134,10 @@ "SourceARN":{"type":"string"}, "SourceType":{"type":"string"}, "StartTime":{"type":"timestamp"}, + "StatesArn":{"type":"string"}, + "StatesExecutionArn":{"type":"string"}, + "StatesInput":{"type":"string"}, + "StatesStatus":{"type":"string"}, "Status":{ "type":"string", "enum":[ @@ -1086,7 +1160,8 @@ "TagKey":{ "type":"string", "max":128, - "min":1 + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagKeyList":{ "type":"list", @@ -1119,7 +1194,8 @@ "TagValue":{ "type":"string", "max":256, - "min":0 + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagsAlreadyExistException":{ "type":"structure", @@ -1131,11 +1207,18 @@ "Tier":{ "type":"string", "enum":[ + "CUSTOM", "DEFAULT", "DOT_NET_CORE", "DOT_NET_WORKER", + "DOT_NET_WEB_TIER", "DOT_NET_WEB", - "SQL_SERVER" + "SQL_SERVER", + "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP", + "MYSQL", + "POSTGRESQL", + "JAVA_JMX", + "ORACLE" ], "max":50, "min":1 @@ -1210,8 +1293,8 @@ ], "members":{ "ResourceGroupName":{"shape":"ResourceGroupName"}, - "ComponentName":{"shape":"ComponentName"}, - "NewComponentName":{"shape":"NewComponentName"}, + "ComponentName":{"shape":"CustomComponentName"}, + "NewComponentName":{"shape":"CustomComponentName"}, "ResourceList":{"shape":"ResourceList"} } }, @@ -1250,6 +1333,11 @@ "exception":true }, "Value":{"type":"double"}, + "WorkloadMetaData":{ + "type":"map", + "key":{"shape":"MetaDataKey"}, + "value":{"shape":"MetaDataValue"} + }, "XRayErrorPercent":{"type":"integer"}, "XRayFaultPercent":{"type":"integer"}, "XRayNodeName":{"type":"string"}, diff --git a/models/apis/application-insights/2018-11-25/docs-2.json b/models/apis/application-insights/2018-11-25/docs-2.json index a9616961c5..e5f54b00a3 100644 --- a/models/apis/application-insights/2018-11-25/docs-2.json +++ b/models/apis/application-insights/2018-11-25/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "Amazon CloudWatch Application Insights for .NET and SQL Server

Amazon CloudWatch Application Insights for .NET and SQL Server is a service that helps you detect common problems with your .NET and SQL Server-based applications. It enables you to pinpoint the source of issues in your applications (built with technologies such as Microsoft IIS, .NET, and Microsoft SQL Server), by providing key insights into detected problems.

After you onboard your application, CloudWatch Application Insights for .NET and SQL Server identifies, recommends, and sets up metrics and logs. It continuously analyzes and correlates your metrics and logs for unusual behavior to surface actionable problems with your application. For example, if your application is slow and unresponsive and leading to HTTP 500 errors in your Application Load Balancer (ALB), Application Insights informs you that a memory pressure problem with your SQL Server database is occurring. It bases this analysis on impactful metrics and log errors.

", + "service": "Amazon CloudWatch Application Insights

Amazon CloudWatch Application Insights is a service that helps you detect common problems with your applications. It enables you to pinpoint the source of issues in your applications (built with technologies such as Microsoft IIS, .NET, and Microsoft SQL Server), by providing key insights into detected problems.

After you onboard your application, CloudWatch Application Insights identifies, recommends, and sets up metrics and logs. It continuously analyzes and correlates your metrics and logs for unusual behavior to surface actionable problems with your application. For example, if your application is slow and unresponsive and leading to HTTP 500 errors in your Application Load Balancer (ALB), Application Insights informs you that a memory pressure problem with your SQL Server database is occurring. It bases this analysis on impactful metrics and log errors.

", "operations": { "CreateApplication": "

Adds an application that is created from a resource group.

", "CreateComponent": "

Creates a custom component by grouping similar standalone instances to monitor.

", @@ -31,6 +31,11 @@ "UpdateLogPattern": "

Adds a log pattern to a LogPatternSet.

" }, "shapes": { + "AccessDeniedException": { + "base": "

User does not have permissions to perform this action.

", + "refs": { + } + }, "AffectedResource": { "base": null, "refs": { @@ -147,13 +152,10 @@ "base": null, "refs": { "ApplicationComponent$ComponentName": "

The name of the component.

", - "CreateComponentRequest$ComponentName": "

The name of the component.

", - "DeleteComponentRequest$ComponentName": "

The name of the component.

", "DescribeComponentConfigurationRecommendationRequest$ComponentName": "

The name of the component.

", "DescribeComponentConfigurationRequest$ComponentName": "

The name of the component.

", "DescribeComponentRequest$ComponentName": "

The name of the component.

", - "UpdateComponentConfigurationRequest$ComponentName": "

The name of the component.

", - "UpdateComponentRequest$ComponentName": "

The name of the component.

" + "UpdateComponentConfigurationRequest$ComponentName": "

The name of the component.

" } }, "ConfigurationEvent": { @@ -235,6 +237,15 @@ "refs": { } }, + "CustomComponentName": { + "base": null, + "refs": { + "CreateComponentRequest$ComponentName": "

The name of the component.

", + "DeleteComponentRequest$ComponentName": "

The name of the component.

", + "UpdateComponentRequest$ComponentName": "

The name of the component.

", + "UpdateComponentRequest$NewComponentName": "

The new name of the component.

" + } + }, "DeleteApplicationRequest": { "base": null, "refs": { @@ -345,6 +356,36 @@ "refs": { } }, + "DetectedWorkload": { + "base": null, + "refs": { + "ApplicationComponent$DetectedWorkload": "

Workloads detected in the application component.

" + } + }, + "EbsCause": { + "base": null, + "refs": { + "Observation$EbsCause": "

The cause of an EBS CloudWatch event.

" + } + }, + "EbsEvent": { + "base": null, + "refs": { + "Observation$EbsEvent": "

The type of EBS CloudWatch event, such as createVolume, deleteVolume or attachVolume.

" + } + }, + "EbsRequestId": { + "base": null, + "refs": { + "Observation$EbsRequestId": "

The request ID of an EBS CloudWatch event.

" + } + }, + "EbsResult": { + "base": null, + "refs": { + "Observation$EbsResult": "

The result of an EBS CloudWatch event, such as failed or succeeded.

" + } + }, "Ec2State": { "base": null, "refs": { @@ -363,6 +404,7 @@ "ErrorMsg": { "base": null, "refs": { + "AccessDeniedException$Message": null, "BadRequestException$Message": null, "InternalServerException$Message": null, "ResourceInUseException$Message": null, @@ -551,24 +593,24 @@ "CreateLogPatternRequest$PatternName": "

The name of the log pattern.

", "DeleteLogPatternRequest$PatternName": "

The name of the log pattern.

", "DescribeLogPatternRequest$PatternName": "

The name of the log pattern.

", - "LogPattern$PatternName": "

The name of the log pattern. A log pattern name can contains at many as 50 characters, and it cannot be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

", + "LogPattern$PatternName": "

The name of the log pattern. A log pattern name can contain as many as 50 characters, and it cannot be empty. The characters can be Unicode letters, digits, or one of the following symbols: period, dash, underscore.

", "UpdateLogPatternRequest$PatternName": "

The name of the log pattern.

" } }, "LogPatternRank": { "base": null, "refs": { - "CreateLogPatternRequest$Rank": "

Rank of the log pattern.

", - "LogPattern$Rank": "

Rank of the log pattern.

", - "UpdateLogPatternRequest$Rank": "

Rank of the log pattern.

" + "CreateLogPatternRequest$Rank": "

Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank. Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns.

", + "LogPattern$Rank": "

Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank. Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns.

", + "UpdateLogPatternRequest$Rank": "

Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank. Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns.

" } }, "LogPatternRegex": { "base": null, "refs": { - "CreateLogPatternRequest$Pattern": "

The log pattern.

", - "LogPattern$Pattern": "

A regular expression that defines the log pattern. A log pattern can contains at many as 50 characters, and it cannot be empty.

", - "UpdateLogPatternRequest$Pattern": "

The log pattern.

" + "CreateLogPatternRequest$Pattern": "

The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

", + "LogPattern$Pattern": "

A regular expression that defines the log pattern. A log pattern can contain as many as 50 characters, and it cannot be empty. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

", + "UpdateLogPatternRequest$Pattern": "

The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

" } }, "LogPatternSetList": { @@ -584,7 +626,7 @@ "DeleteLogPatternRequest$PatternSetName": "

The name of the log pattern set.

", "DescribeLogPatternRequest$PatternSetName": "

The name of the log pattern set.

", "ListLogPatternsRequest$PatternSetName": "

The name of the log pattern set.

", - "LogPattern$PatternSetName": "

The name of the log pattern. A log pattern name can contains at many as 30 characters, and it cannot be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

", + "LogPattern$PatternSetName": "

The name of the log pattern. A log pattern name can contain as many as 30 characters, and it cannot be empty. The characters can be Unicode letters, digits, or one of the following symbols: period, dash, underscore.

", "LogPatternSetList$member": null, "UpdateLogPatternRequest$PatternSetName": "

The name of the log pattern set.

" } @@ -606,6 +648,18 @@ "ListProblemsRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" } }, + "MetaDataKey": { + "base": null, + "refs": { + "WorkloadMetaData$key": null + } + }, + "MetaDataValue": { + "base": null, + "refs": { + "WorkloadMetaData$value": null + } + }, "MetricName": { "base": null, "refs": { @@ -626,12 +680,6 @@ "UpdateComponentConfigurationRequest$Monitor": "

Indicates whether the application component is monitored.

" } }, - "NewComponentName": { - "base": null, - "refs": { - "UpdateComponentRequest$NewComponentName": "

The new name of the component.

" - } - }, "Observation": { "base": "

Describes an anomaly or error with the application.

", "refs": { @@ -668,6 +716,12 @@ "UpdateApplicationRequest$OpsItemSNSTopicArn": "

The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to receive notifications for updates to the opsItem.

" } }, + "OsType": { + "base": null, + "refs": { + "ApplicationComponent$OsType": "

The operating system of the component.

" + } + }, "PaginationToken": { "base": null, "refs": { @@ -706,6 +760,18 @@ "ListProblemsResponse$ProblemList": "

The list of problems.

" } }, + "RdsEventCategories": { + "base": null, + "refs": { + "Observation$RdsEventCategories": "

The category of an RDS event.

" + } + }, + "RdsEventMessage": { + "base": null, + "refs": { + "Observation$RdsEventMessage": "

The message of an RDS event.

" + } + }, "RelatedObservations": { "base": "

Describes observations related to the problem.

", "refs": { @@ -715,6 +781,7 @@ "Remarks": { "base": null, "refs": { + "ApplicationComponent$ComponentRemarks": "

If logging is supported for the resource type, indicates whether the component has configured logs to be monitored.

", "ApplicationInfo$Remarks": "

The issues on the user side that block Application Insights from successfully monitoring an application. Example remarks include:

" } }, @@ -786,6 +853,12 @@ "ApplicationComponent$ResourceType": "

The resource type. Supported resource types include EC2 instances, Auto Scaling group, Classic ELB, Application ELB, and SQS Queue.

" } }, + "S3EventName": { + "base": null, + "refs": { + "Observation$S3EventName": "

The name of the S3 CloudWatch Event-based observation.

" + } + }, "SeverityLevel": { "base": null, "refs": { @@ -813,6 +886,30 @@ "Problem$StartTime": "

The time when the problem started, in epoch seconds.

" } }, + "StatesArn": { + "base": null, + "refs": { + "Observation$StatesArn": "

The Amazon Resource Name (ARN) of the step function-based observation.

" + } + }, + "StatesExecutionArn": { + "base": null, + "refs": { + "Observation$StatesExecutionArn": "

The Amazon Resource Name (ARN) of the step function execution-based observation.

" + } + }, + "StatesInput": { + "base": null, + "refs": { + "Observation$StatesInput": "

The input to the step function-based observation.

" + } + }, + "StatesStatus": { + "base": null, + "refs": { + "Observation$StatesStatus": "

The status of the step function-related observation.

" + } + }, "Status": { "base": null, "refs": { @@ -873,6 +970,7 @@ "ApplicationComponent$Tier": "

The stack tier of the application component.

", "DescribeComponentConfigurationRecommendationRequest$Tier": "

The tier of the application component. Supported tiers include DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT.

", "DescribeComponentConfigurationResponse$Tier": "

The tier of the application component. Supported tiers include DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT

", + "DetectedWorkload$key": null, "UpdateComponentConfigurationRequest$Tier": "

The tier of the application component. Supported tiers include DOT_NET_WORKER, DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.

" } }, @@ -954,6 +1052,12 @@ "Observation$Value": "

The value of the source observation metric.

" } }, + "WorkloadMetaData": { + "base": null, + "refs": { + "DetectedWorkload$value": null + } + }, "XRayErrorPercent": { "base": null, "refs": { diff --git a/models/apis/autoscaling/2011-01-01/docs-2.json b/models/apis/autoscaling/2011-01-01/docs-2.json index a6d81f1706..795565ed1a 100644 --- a/models/apis/autoscaling/2011-01-01/docs-2.json +++ b/models/apis/autoscaling/2011-01-01/docs-2.json @@ -3,8 +3,8 @@ "service": "Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks. Use this service with AWS Auto Scaling, Amazon CloudWatch, and Elastic Load Balancing.

For more information, including information about granting IAM users required permissions for Amazon EC2 Auto Scaling actions, see the Amazon EC2 Auto Scaling User Guide.

", "operations": { "AttachInstances": "

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 instances to your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

", - "AttachLoadBalancerTargetGroups": "

Attaches one or more target groups to the specified Auto Scaling group.

To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups API. To detach the target group from the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.

With Application Load Balancers and Network Load Balancers, instances are registered as targets with a target group. With Classic Load Balancers, instances are registered with the load balancer. For more information, see Attaching a load balancer to your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

", - "AttachLoadBalancers": "

To attach an Application Load Balancer or a Network Load Balancer, use the AttachLoadBalancerTargetGroups API operation instead.

Attaches one or more Classic Load Balancers to the specified Auto Scaling group. Amazon EC2 Auto Scaling registers the running instances with these Classic Load Balancers.

To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers API. To detach the load balancer from the Auto Scaling group, call the DetachLoadBalancers API.

For more information, see Attaching a load balancer to your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

", + "AttachLoadBalancerTargetGroups": "

Attaches one or more target groups to the specified Auto Scaling group.

This operation is used with the following load balancer types:

To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups API. To detach the target group from the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.

For more information, see Elastic Load Balancing and Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

", + "AttachLoadBalancers": "

To attach an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer, use the AttachLoadBalancerTargetGroups API operation instead.

Attaches one or more Classic Load Balancers to the specified Auto Scaling group. Amazon EC2 Auto Scaling registers the running instances with these Classic Load Balancers.

To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers API. To detach the load balancer from the Auto Scaling group, call the DetachLoadBalancers API.

For more information, see Elastic Load Balancing and Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

", "BatchDeleteScheduledAction": "

Deletes one or more scheduled actions for the specified Auto Scaling group.

", "BatchPutScheduledUpdateGroupAction": "

Creates or updates one or more scheduled scaling actions for an Auto Scaling group. If you leave a parameter unspecified when updating a scheduled scaling action, the corresponding value remains unchanged.

", "CancelInstanceRefresh": "

Cancels an instance refresh operation in progress. Cancellation does not roll back any replacements that have already been completed, but it prevents new replacements from being started.

For more information, see Replacing Auto Scaling Instances Based on an Instance Refresh.

", @@ -29,7 +29,7 @@ "DescribeLifecycleHookTypes": "

Describes the available types of lifecycle hooks.

The following hook types are supported:

", "DescribeLifecycleHooks": "

Describes the lifecycle hooks for the specified Auto Scaling group.

", "DescribeLoadBalancerTargetGroups": "

Describes the target groups for the specified Auto Scaling group.

", - "DescribeLoadBalancers": "

Describes the load balancers for the specified Auto Scaling group.

This operation describes only Classic Load Balancers. If you have Application Load Balancers or Network Load Balancers, use the DescribeLoadBalancerTargetGroups API instead.

", + "DescribeLoadBalancers": "

Describes the load balancers for the specified Auto Scaling group.

This operation describes only Classic Load Balancers. If you have Application Load Balancers, Network Load Balancers, or Gateway Load Balancers, use the DescribeLoadBalancerTargetGroups API instead.

", "DescribeMetricCollectionTypes": "

Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling.

The GroupStandbyInstances metric is not returned by default. You must explicitly request this metric when calling the EnableMetricsCollection API.

", "DescribeNotificationConfigurations": "

Describes the notification actions associated with the specified Auto Scaling group.

", "DescribePolicies": "

Describes the policies for the specified Auto Scaling group.

", @@ -40,7 +40,7 @@ "DescribeTerminationPolicyTypes": "

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Controlling which Auto Scaling instances terminate during scale in in the Amazon EC2 Auto Scaling User Guide.

", "DetachInstances": "

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 instances from your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

", "DetachLoadBalancerTargetGroups": "

Detaches one or more target groups from the specified Auto Scaling group.

", - "DetachLoadBalancers": "

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

This operation detaches only Classic Load Balancers. If you have Application Load Balancers or Network Load Balancers, use the DetachLoadBalancerTargetGroups API instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using the DescribeLoadBalancers API call. The instances remain running.

", + "DetachLoadBalancers": "

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

This operation detaches only Classic Load Balancers. If you have Application Load Balancers, Network Load Balancers, or Gateway Load Balancers, use the DetachLoadBalancerTargetGroups API instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using the DescribeLoadBalancers API call. The instances remain running.

", "DisableMetricsCollection": "

Disables group metrics for the specified Auto Scaling group.

", "EnableMetricsCollection": "

Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring CloudWatch metrics for your Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.

", "EnterStandby": "

Moves the specified instances into the standby state.

If you choose to decrement the desired capacity of the Auto Scaling group, the instances can enter standby as long as the desired capacity of the Auto Scaling group after the instances are placed into standby is equal to or greater than the minimum capacity of the group.

If you choose not to decrement the desired capacity of the Auto Scaling group, the Auto Scaling group launches new instances to replace the instances on standby.

For more information, see Temporarily removing instances from your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

", @@ -860,7 +860,7 @@ "LaunchTemplateName": { "base": null, "refs": { - "LaunchTemplateSpecification$LaunchTemplateName": "

The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API. You must specify either a LaunchTemplateId or a LaunchTemplateName.

" + "LaunchTemplateSpecification$LaunchTemplateName": "

The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

" } }, "LaunchTemplateOverrides": { @@ -951,7 +951,7 @@ "refs": { "AttachLoadBalancersType$LoadBalancerNames": "

The names of the load balancers. You can specify up to 10 load balancers.

", "AutoScalingGroup$LoadBalancerNames": "

One or more load balancers associated with the group.

", - "CreateAutoScalingGroupType$LoadBalancerNames": "

A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers and Network Load Balancers, specify TargetGroupARNs instead.

", + "CreateAutoScalingGroupType$LoadBalancerNames": "

A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property instead.

", "DetachLoadBalancersType$LoadBalancerNames": "

The names of the load balancers. You can specify up to 10 load balancers.

" } }, @@ -1127,14 +1127,14 @@ "MixedInstanceSpotPrice": { "base": null, "refs": { - "InstancesDistribution$SpotMaxPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. If you leave the value of this parameter blank (which is the default), the maximum Spot price is set at the On-Demand price. To remove a value that you previously set, include the parameter but leave the value blank.

" + "InstancesDistribution$SpotMaxPrice": "

The maximum price per unit hour that you are willing to pay for a Spot Instance. If you leave the value at its default (empty), Amazon EC2 Auto Scaling uses the On-Demand price as the maximum Spot price. To remove a value that you previously set, include the property but specify an empty string (\"\") for the value.

" } }, "MixedInstancesPolicy": { "base": "

Describes a mixed instances policy for an Auto Scaling group. With mixed instances, your Auto Scaling group can provision a combination of On-Demand Instances and Spot Instances across multiple instance types. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

You can create a mixed instances policy for a new Auto Scaling group, or you can create it for an existing group by updating the group to specify MixedInstancesPolicy as the top-level parameter instead of a launch configuration or launch template.

", "refs": { "AutoScalingGroup$MixedInstancesPolicy": "

The mixed instances policy for the group.

", - "CreateAutoScalingGroupType$MixedInstancesPolicy": "

An embedded object that specifies a mixed instances policy. The required parameters must be specified. If optional parameters are unspecified, their default values are used.

The policy includes parameters that not only define the distribution of On-Demand Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also the parameters that specify the instance configuration information—the launch template and instance types. The policy can also include a weight for each instance type and different launch templates for individual instance types. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).

", + "CreateAutoScalingGroupType$MixedInstancesPolicy": "

An embedded object that specifies a mixed instances policy. The required parameters must be specified. If optional parameters are unspecified, their default values are used.

The policy includes parameters that not only define the distribution of On-Demand Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also the parameters that specify the instance configuration information—the launch template and instance types. The policy can also include a weight for each instance type and different launch templates for individual instance types. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

", "UpdateAutoScalingGroupType$MixedInstancesPolicy": "

An embedded object that specifies a mixed instances policy. When you make changes to an existing policy, all optional parameters are left unchanged if not specified. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

" } }, @@ -1527,7 +1527,7 @@ "SpotInstancePools": { "base": null, "refs": { - "InstancesDistribution$SpotInstancePools": "

The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined from the different instance types in the overrides. Defaults to 2 if not specified. Valid only when the Spot allocation strategy is lowest-price.

Valid Range: Minimum value of 1. Maximum value of 20.

" + "InstancesDistribution$SpotInstancePools": "

The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined from the different instance types in the overrides. Valid only when the Spot allocation strategy is lowest-price. Value must be in the range of 1 to 20. Defaults to 2 if not specified.

" } }, "SpotPrice": { @@ -1621,7 +1621,7 @@ "TargetGroupARNs": { "base": null, "refs": { - "AttachLoadBalancerTargetGroupsType$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.

", + "AttachLoadBalancerTargetGroupsType$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups. To get the ARN of a target group, use the Elastic Load Balancing DescribeTargetGroups API operation.

", "AutoScalingGroup$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups for your load balancer.

", "CreateAutoScalingGroupType$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups to associate with the Auto Scaling group. Instances are registered as targets in a target group, and traffic is routed to the target group. For more information, see Elastic Load Balancing and Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

", "DetachLoadBalancerTargetGroupsType$TargetGroupARNs": "

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.

" @@ -1707,7 +1707,7 @@ "FailedScheduledUpdateGroupActionRequest$ErrorMessage": "

The error message accompanying the error code.

", "Filter$Name": "

The name of the filter. The valid values are: auto-scaling-group, key, value, and propagate-at-launch.

", "InstancesDistribution$OnDemandAllocationStrategy": "

Indicates how to allocate instance types to fulfill On-Demand capacity. The only valid value is prioritized, which is also the default value. This strategy uses the order of instance types in the overrides to define the launch priority of each instance type. The first instance type in the array is prioritized higher than the last. If all your On-Demand capacity cannot be fulfilled using your highest priority instance, then the Auto Scaling groups launches the remaining capacity using the second priority instance type, and so on.

", - "InstancesDistribution$SpotAllocationStrategy": "

Indicates how to allocate instances across Spot Instance pools. If the allocation strategy is lowest-price, the Auto Scaling group launches instances using the Spot pools with the lowest price, and evenly allocates your instances across the number of Spot pools that you specify. If the allocation strategy is capacity-optimized, the Auto Scaling group launches instances using Spot pools that are optimally chosen based on the available Spot capacity. Defaults to lowest-price if not specified.

", + "InstancesDistribution$SpotAllocationStrategy": "

Indicates how to allocate instances across Spot Instance pools. If the allocation strategy is capacity-optimized (recommended), the Auto Scaling group launches instances using Spot pools that are optimally chosen based on the available Spot capacity. If the allocation strategy is lowest-price, the Auto Scaling group launches instances using the Spot pools with the lowest price, and evenly allocates your instances across the number of Spot pools that you specify. Defaults to lowest-price if not specified.

", "LaunchConfigurationNamesType$NextToken": "

The token for the next set of items to return. (You received this token from a previous call.)

", "LaunchConfigurationsType$NextToken": "

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

", "PoliciesType$NextToken": "

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

", @@ -1817,7 +1817,7 @@ "LaunchConfiguration$KernelId": "

The ID of the kernel associated with the AMI.

", "LaunchConfiguration$RamdiskId": "

The ID of the RAM disk associated with the AMI.

", "LaunchTemplateOverrides$InstanceType": "

The instance type, such as m3.xlarge. You must use an instance type that is supported in your requested Region and Availability Zones. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

", - "LaunchTemplateSpecification$LaunchTemplateId": "

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API. You must specify either a LaunchTemplateId or a LaunchTemplateName.

", + "LaunchTemplateSpecification$LaunchTemplateId": "

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

", "LaunchTemplateSpecification$Version": "

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

", "LimitExceededFault$message": "

", "LoadBalancerNames$member": null, @@ -1863,7 +1863,7 @@ "CreateAutoScalingGroupType$HealthCheckType": "

The service to use for the health checks. The valid values are EC2 (default) and ELB. If you configure an Auto Scaling group to use load balancer (ELB) health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks. For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

", "Instance$HealthStatus": "

The last reported health status of the instance. \"Healthy\" means that the instance is healthy and should remain in service. \"Unhealthy\" means that the instance is unhealthy and that Amazon EC2 Auto Scaling should terminate and replace it.

", "Instance$WeightedCapacity": "

The number of capacity units contributed by the instance based on its instance type.

Valid Range: Minimum value of 1. Maximum value of 999.

", - "LaunchTemplateOverrides$WeightedCapacity": "

The number of capacity units provided by the specified instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is provisioned, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Valid Range: Minimum value of 1. Maximum value of 999.

", + "LaunchTemplateOverrides$WeightedCapacity": "

The number of capacity units provided by the specified instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is provisioned, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1 to 999.

", "PutScalingPolicyType$MetricAggregationType": "

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

Valid only if the policy type is StepScaling.

", "ScalingPolicy$MetricAggregationType": "

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average.

", "SetInstanceHealthQuery$HealthStatus": "

The health status of the instance. Set to Healthy to have the instance remain in service. Set to Unhealthy to have the instance be out of service. Amazon EC2 Auto Scaling terminates and replaces the unhealthy instance.

", @@ -1880,7 +1880,7 @@ "XmlStringMaxLen64": { "base": null, "refs": { - "CreateLaunchConfigurationType$PlacementTenancy": "

The tenancy of the instance. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

To launch dedicated instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this parameter to dedicated.

If you specify PlacementTenancy, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Valid Values: default | dedicated

", + "CreateLaunchConfigurationType$PlacementTenancy": "

The tenancy of the instance. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

To launch dedicated instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this parameter to dedicated.

If you specify PlacementTenancy, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Valid Values: default | dedicated

", "FailedScheduledUpdateGroupActionRequest$ErrorCode": "

The error code.

", "LaunchConfiguration$PlacementTenancy": "

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

", "PolicyTypes$member": null, diff --git a/models/apis/codeartifact/2018-09-22/api-2.json b/models/apis/codeartifact/2018-09-22/api-2.json index a38286aadb..d8923d66e0 100644 --- a/models/apis/codeartifact/2018-09-22/api-2.json +++ b/models/apis/codeartifact/2018-09-22/api-2.json @@ -1908,7 +1908,8 @@ "enum":[ "npm", "pypi", - "maven" + "maven", + "nuget" ] }, "PackageName":{ @@ -1983,7 +1984,8 @@ }, "PackageVersionList":{ "type":"list", - "member":{"shape":"PackageVersion"} + "member":{"shape":"PackageVersion"}, + "max":100 }, "PackageVersionRevision":{ "type":"string", diff --git a/models/apis/codeartifact/2018-09-22/docs-2.json b/models/apis/codeartifact/2018-09-22/docs-2.json index 690e668d5d..0f485eeac9 100644 --- a/models/apis/codeartifact/2018-09-22/docs-2.json +++ b/models/apis/codeartifact/2018-09-22/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

AWS CodeArtifact is a fully managed artifact repository compatible with language-native package managers and build tools such as npm, Apache Maven, and pip. You can use CodeArtifact to share packages with development teams and pull packages. Packages can be pulled from both public and CodeArtifact repositories. You can also create an upstream relationship between a CodeArtifact repository and another repository, which effectively merges their contents from the point of view of a package manager client.

AWS CodeArtifact Components

Use the information in this guide to help you work with the following CodeArtifact components:

CodeArtifact supports these operations:

", + "service": "

AWS CodeArtifact is a fully managed artifact repository compatible with language-native package managers and build tools such as npm, Apache Maven, NuGet, and pip. You can use CodeArtifact to share packages with development teams and pull packages. Packages can be pulled from both public and CodeArtifact repositories. You can also create an upstream relationship between a CodeArtifact repository and another repository, which effectively merges their contents from the point of view of a package manager client.

AWS CodeArtifact Components

Use the information in this guide to help you work with the following CodeArtifact components:

CodeArtifact supports these operations:

", "operations": { "AssociateExternalConnection": "

Adds an existing external connection to a repository. One external connection is allowed per repository.

A repository can have one or more upstream repositories, or an external connection.

", "CopyPackageVersions": "

Copies package versions from one repository to another repository in the same domain.

You must specify versions or versionRevisions. You cannot specify both.

", @@ -20,7 +20,7 @@ "GetDomainPermissionsPolicy": "

Returns the resource policy attached to the specified domain.

The policy is a resource-based policy, not an identity-based policy. For more information, see Identity-based policies and resource-based policies in the AWS Identity and Access Management User Guide.

", "GetPackageVersionAsset": "

Returns an asset (or file) that is in a package. For example, for a Maven package version, use GetPackageVersionAsset to download a JAR file, a POM file, or any other assets in the package version.

", "GetPackageVersionReadme": "

Gets the readme file or descriptive text for a package version. For packages that do not contain a readme file, CodeArtifact extracts a description from a metadata file. For example, from the <description> element in the pom.xml file of a Maven package.

The returned text might contain formatting. For example, it might contain formatting for Markdown or reStructuredText.

", - "GetRepositoryEndpoint": "

Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each package format:

", + "GetRepositoryEndpoint": "

Returns the endpoint of a repository for a specific package format. A repository has one endpoint for each package format:

", "GetRepositoryPermissionsPolicy": "

Returns the resource policy that is set on a repository.

", "ListDomains": "

Returns a list of DomainSummary objects for all domains owned by the AWS account that makes this call. Each returned DomainSummary object contains information about a domain.

", "ListPackageVersionAssets": "

Returns a list of AssetSummary objects for assets in a package version.

", @@ -96,8 +96,8 @@ "RepositoryDescription$arn": "

The Amazon Resource Name (ARN) of the repository.

", "RepositorySummary$arn": "

The ARN of the repository.

", "ResourcePolicy$resourceArn": "

The ARN of the resource associated with the resource policy

", - "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource to which you want to add or update tags.

", - "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource to which you want to remove tags.

" + "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to add or update tags for.

", + "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to remove tags from.

" } }, "Asset": { @@ -373,7 +373,7 @@ "ExternalConnectionName": { "base": null, "refs": { - "AssociateExternalConnectionRequest$externalConnection": "

The name of the external connection to add to the repository. The following values are supported:

", + "AssociateExternalConnectionRequest$externalConnection": "

The name of the external connection to add to the repository. The following values are supported:

", "DisassociateExternalConnectionRequest$externalConnection": "

The name of the external connection to be removed from the repository.

", "RepositoryExternalConnectionInfo$externalConnectionName": "

The name of the external connection associated with a repository.

" } @@ -622,25 +622,25 @@ "PackageFormat": { "base": null, "refs": { - "CopyPackageVersionsRequest$format": "

The format of the package that is copied. The valid package types are:

", - "DeletePackageVersionsRequest$format": "

The format of the package versions to delete. The valid values are:

", - "DescribePackageVersionRequest$format": "

A format that specifies the type of the requested package version. The valid values are:

", - "DisposePackageVersionsRequest$format": "

A format that specifies the type of package versions you want to dispose. The valid values are:

", - "GetPackageVersionAssetRequest$format": "

A format that specifies the type of the package version with the requested asset file. The valid values are:

", - "GetPackageVersionReadmeRequest$format": "

A format that specifies the type of the package version with the requested readme file. The valid values are:

", - "GetPackageVersionReadmeResult$format": "

The format of the package with the requested readme file. Valid format types are:

", - "GetRepositoryEndpointRequest$format": "

Returns which endpoint of a repository to return. A repository has one endpoint for each package format:

", - "ListPackageVersionAssetsRequest$format": "

The format of the package that contains the returned package version assets. The valid package types are:

", + "CopyPackageVersionsRequest$format": "

The format of the package that is copied. The valid package types are:

", + "DeletePackageVersionsRequest$format": "

The format of the package versions to delete. The valid values are:

", + "DescribePackageVersionRequest$format": "

A format that specifies the type of the requested package version. The valid values are:

", + "DisposePackageVersionsRequest$format": "

A format that specifies the type of package versions you want to dispose. The valid values are:

", + "GetPackageVersionAssetRequest$format": "

A format that specifies the type of the package version with the requested asset file. The valid values are:

", + "GetPackageVersionReadmeRequest$format": "

A format that specifies the type of the package version with the requested readme file. The valid values are:

", + "GetPackageVersionReadmeResult$format": "

The format of the package with the requested readme file. Valid format types are:

", + "GetRepositoryEndpointRequest$format": "

Returns which endpoint of a repository to return. A repository has one endpoint for each package format:

", + "ListPackageVersionAssetsRequest$format": "

The format of the package that contains the returned package version assets. The valid package types are:

", "ListPackageVersionAssetsResult$format": "

The format of the package that contains the returned package version assets.

", - "ListPackageVersionDependenciesRequest$format": "

The format of the package with the requested dependencies. The valid package types are:

", - "ListPackageVersionDependenciesResult$format": "

A format that specifies the type of the package that contains the returned dependencies. The valid values are:

", - "ListPackageVersionsRequest$format": "

The format of the returned packages. The valid package types are:

", - "ListPackageVersionsResult$format": "

A format of the package. Valid package format values are:

", - "ListPackagesRequest$format": "

The format of the packages. The valid package types are:

", - "PackageSummary$format": "

The format of the package. Valid values are:

", - "PackageVersionDescription$format": "

The format of the package version. The valid package formats are:

", - "RepositoryExternalConnectionInfo$packageFormat": "

The package format associated with a repository's external connection. The valid package formats are:

", - "UpdatePackageVersionsStatusRequest$format": "

A format that specifies the type of the package with the statuses to update. The valid values are:

" + "ListPackageVersionDependenciesRequest$format": "

The format of the package with the requested dependencies. The valid package types are:

", + "ListPackageVersionDependenciesResult$format": "

A format that specifies the type of the package that contains the returned dependencies. The valid values are:

", + "ListPackageVersionsRequest$format": "

The format of the returned packages. The valid package types are:

", + "ListPackageVersionsResult$format": "

A format of the package. Valid package format values are:

", + "ListPackagesRequest$format": "

The format of the packages. The valid package types are:

", + "PackageSummary$format": "

The format of the package. Valid values are:

", + "PackageVersionDescription$format": "

The format of the package version. The valid package formats are:

", + "RepositoryExternalConnectionInfo$packageFormat": "

The package format associated with a repository's external connection. The valid package formats are:

", + "UpdatePackageVersionsStatusRequest$format": "

A format that specifies the type of the package with the statuses to update. The valid values are:

" } }, "PackageName": { @@ -659,7 +659,7 @@ "ListPackageVersionDependenciesResult$package": "

The name of the package that contains the returned package versions dependencies.

", "ListPackageVersionsRequest$package": "

The name of the package for which you want to return a list of package versions.

", "ListPackageVersionsResult$package": "

The name of the package.

", - "ListPackagesRequest$packagePrefix": "

A prefix used to filter returned repositories. Only repositories with names that start with repositoryPrefix are returned.

", + "ListPackagesRequest$packagePrefix": "

A prefix used to filter returned packages. Only packages with names that start with packagePrefix are returned.

", "PackageDependency$package": "

The name of the package that this package depends on.

", "PackageSummary$package": "

The name of the package.

", "PackageVersionDescription$packageName": "

The name of the requested package.

", @@ -669,24 +669,24 @@ "PackageNamespace": { "base": null, "refs": { - "CopyPackageVersionsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "DeletePackageVersionsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "DescribePackageVersionRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "DisposePackageVersionsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "GetPackageVersionAssetRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "GetPackageVersionReadmeRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "GetPackageVersionReadmeResult$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "ListPackageVersionAssetsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "ListPackageVersionAssetsResult$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "ListPackageVersionDependenciesRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "ListPackageVersionDependenciesResult$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "ListPackageVersionsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "ListPackageVersionsResult$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "ListPackagesRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "PackageDependency$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "PackageSummary$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "PackageVersionDescription$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", - "UpdatePackageVersionsStatusRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

" + "CopyPackageVersionsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "DeletePackageVersionsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "DescribePackageVersionRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "DisposePackageVersionsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "GetPackageVersionAssetRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "GetPackageVersionReadmeRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "GetPackageVersionReadmeResult$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "ListPackageVersionAssetsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "ListPackageVersionAssetsResult$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "ListPackageVersionDependenciesRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "ListPackageVersionDependenciesResult$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "ListPackageVersionsRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "ListPackageVersionsResult$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "ListPackagesRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "PackageDependency$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "PackageSummary$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "PackageVersionDescription$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

", + "UpdatePackageVersionsStatusRequest$namespace": "

The namespace of the package. The package component that specifies its namespace depends on its type. For example:

" } }, "PackageSummary": { @@ -1027,7 +1027,7 @@ "TagKey": { "base": null, "refs": { - "Tag$key": "

The tag's key.

", + "Tag$key": "

The tag key.

", "TagKeyList$member": null } }, @@ -1059,7 +1059,7 @@ "TagValue": { "base": null, "refs": { - "Tag$value": "

The tag's value.

" + "Tag$value": "

The tag value.

" } }, "ThrottlingException": { diff --git a/models/apis/codestar-connections/2019-12-01/api-2.json b/models/apis/codestar-connections/2019-12-01/api-2.json index 5889418c14..4f66593666 100644 --- a/models/apis/codestar-connections/2019-12-01/api-2.json +++ b/models/apis/codestar-connections/2019-12-01/api-2.json @@ -86,7 +86,8 @@ "input":{"shape":"GetHostInput"}, "output":{"shape":"GetHostOutput"}, "errors":[ - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"} ] }, "ListConnections":{ @@ -143,6 +144,21 @@ "errors":[ {"shape":"ResourceNotFoundException"} ] + }, + "UpdateHost":{ + "name":"UpdateHost", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateHostInput"}, + "output":{"shape":"UpdateHostOutput"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"UnsupportedOperationException"} + ] } }, "shapes":{ @@ -155,7 +171,15 @@ "AmazonResourceName":{ "type":"string", "max":1011, - "min":1 + "min":1, + "pattern":"arn:aws(-[\\w]+)*:.+:.+:[0-9]{12}:.+" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true }, "Connection":{ "type":"structure", @@ -181,7 +205,8 @@ "ConnectionName":{ "type":"string", "max":32, - "min":1 + "min":1, + "pattern":"[\\s\\S]*" }, "ConnectionStatus":{ "type":"string", @@ -311,8 +336,9 @@ }, "HostName":{ "type":"string", - "max":32, - "min":1 + "max":64, + "min":1, + "pattern":".*" }, "HostStatus":{"type":"string"}, "HostStatusMessage":{"type":"string"}, @@ -374,7 +400,8 @@ "NextToken":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":".*" }, "ProviderType":{ "type":"string", @@ -400,6 +427,8 @@ }, "SecurityGroupId":{ "type":"string", + "max":20, + "min":11, "pattern":"sg-\\w{8}(\\w{9})?" }, "SecurityGroupIds":{ @@ -410,6 +439,8 @@ }, "SubnetId":{ "type":"string", + "max":24, + "min":15, "pattern":"subnet-\\w{8}(\\w{9})?" }, "SubnetIds":{ @@ -432,7 +463,8 @@ "TagKey":{ "type":"string", "max":128, - "min":1 + "min":1, + "pattern":".*" }, "TagKeyList":{ "type":"list", @@ -465,12 +497,21 @@ "TagValue":{ "type":"string", "max":256, - "min":0 + "min":0, + "pattern":".*" }, "TlsCertificate":{ "type":"string", "max":16384, - "min":1 + "min":1, + "pattern":"[\\s\\S]*" + }, + "UnsupportedOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true }, "UntagResourceInput":{ "type":"structure", @@ -488,10 +529,25 @@ "members":{ } }, + "UpdateHostInput":{ + "type":"structure", + "required":["HostArn"], + "members":{ + "HostArn":{"shape":"HostArn"}, + "ProviderEndpoint":{"shape":"Url"}, + "VpcConfiguration":{"shape":"VpcConfiguration"} + } + }, + "UpdateHostOutput":{ + "type":"structure", + "members":{ + } + }, "Url":{ "type":"string", "max":512, - "min":1 + "min":1, + "pattern":".*" }, "VpcConfiguration":{ "type":"structure", @@ -509,6 +565,8 @@ }, "VpcId":{ "type":"string", + "max":21, + "min":12, "pattern":"vpc-\\w{8}(\\w{9})?" } } diff --git a/models/apis/codestar-connections/2019-12-01/docs-2.json b/models/apis/codestar-connections/2019-12-01/docs-2.json index 7d39b6f450..c9e9132e19 100644 --- a/models/apis/codestar-connections/2019-12-01/docs-2.json +++ b/models/apis/codestar-connections/2019-12-01/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "AWS CodeStar Connections

The CodeStar Connections feature is in preview release and is subject to change.

This AWS CodeStar Connections API Reference provides descriptions and usage examples of the operations and data types for the AWS CodeStar Connections API. You can use the connections API to work with connections and installations.

Connections are configurations that you use to connect AWS resources to external code repositories. Each connection is a resource that can be given to services such as CodePipeline to connect to a third-party repository such as Bitbucket. For example, you can add the connection in CodePipeline so that it triggers your pipeline when a code change is made to your third-party code repository. Each connection is named and associated with a unique ARN that is used to reference the connection.

When you create a connection, the console initiates a third-party connection handshake. Installations are the apps that are used to conduct this handshake. For example, the installation for the Bitbucket provider type is the Bitbucket Cloud app. When you create a connection, you can choose an existing installation or create one.

When you want to create a connection to an installed provider type such as GitHub Enterprise Server, you create a host for your connections.

You can work with connections by calling:

You can work with hosts by calling:

You can work with tags in AWS CodeStar Connections by calling the following:

For information about how to use AWS CodeStar Connections, see the Developer Tools User Guide.

", + "service": "AWS CodeStar Connections

This AWS CodeStar Connections API Reference provides descriptions and usage examples of the operations and data types for the AWS CodeStar Connections API. You can use the connections API to work with connections and installations.

Connections are configurations that you use to connect AWS resources to external code repositories. Each connection is a resource that can be given to services such as CodePipeline to connect to a third-party repository such as Bitbucket. For example, you can add the connection in CodePipeline so that it triggers your pipeline when a code change is made to your third-party code repository. Each connection is named and associated with a unique ARN that is used to reference the connection.

When you create a connection, the console initiates a third-party connection handshake. Installations are the apps that are used to conduct this handshake. For example, the installation for the Bitbucket provider type is the Bitbucket app. When you create a connection, you can choose an existing installation or create one.

When you want to create a connection to an installed provider type such as GitHub Enterprise Server, you create a host for your connections.

You can work with connections by calling:

You can work with hosts by calling:

You can work with tags in AWS CodeStar Connections by calling the following:

For information about how to use AWS CodeStar Connections, see the Developer Tools User Guide.

", "operations": { "CreateConnection": "

Creates a connection that can then be given to other AWS services like CodePipeline so that it can access third-party code repositories. The connection is in pending status until the third-party connection handshake is completed from the console.

", "CreateHost": "

Creates a resource that represents the infrastructure where a third-party provider is installed. The host is used when you create connections to an installed third-party provider type, such as GitHub Enterprise Server. You create one host for all connections to that provider.

A host created through the CLI or the SDK is in `PENDING` status by default. You can make its status `AVAILABLE` by setting up the host in the console.

", @@ -12,7 +12,8 @@ "ListHosts": "

Lists the hosts associated with your account.

", "ListTagsForResource": "

Gets the set of key-value pairs (metadata) that are used to manage the resource.

", "TagResource": "

Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.

", - "UntagResource": "

Removes tags from an AWS resource.

" + "UntagResource": "

Removes tags from an AWS resource.

", + "UpdateHost": "

Updates a specified host with the provided configurations.

" }, "shapes": { "AccountId": { @@ -29,6 +30,11 @@ "UntagResourceInput$ResourceArn": "

The Amazon Resource Name (ARN) of the resource to remove tags from.

" } }, + "ConflictException": { + "base": "

Two conflicting operations have been made on the same resource.

", + "refs": { + } + }, "Connection": { "base": "

A resource that is used to connect third-party source providers with services like AWS CodePipeline.

Note: A connection created through CloudFormation, the CLI, or the SDK is in `PENDING` status by default. You can make its status `AVAILABLE` by updating the connection in the console.

", "refs": { @@ -107,9 +113,11 @@ "ErrorMessage": { "base": null, "refs": { + "ConflictException$Message": null, "LimitExceededException$Message": null, "ResourceNotFoundException$Message": null, - "ResourceUnavailableException$Message": null + "ResourceUnavailableException$Message": null, + "UnsupportedOperationException$Message": null } }, "GetConnectionInput": { @@ -147,7 +155,8 @@ "DeleteHostInput$HostArn": "

The Amazon Resource Name (ARN) of the host to be deleted.

", "GetHostInput$HostArn": "

The Amazon Resource Name (ARN) of the requested host.

", "Host$HostArn": "

The Amazon Resource Name (ARN) of the host.

", - "ListConnectionsInput$HostArnFilter": "

Filters the list of connections to those associated with a specified host.

" + "ListConnectionsInput$HostArnFilter": "

Filters the list of connections to those associated with a specified host.

", + "UpdateHostInput$HostArn": "

The Amazon Resource Name (ARN) of the host to be updated.

" } }, "HostList": { @@ -231,8 +240,8 @@ "ProviderType": { "base": null, "refs": { - "Connection$ProviderType": "

The name of the external provider where your third-party code repository is configured. The valid provider type is Bitbucket.

", - "CreateConnectionInput$ProviderType": "

The name of the external provider where your third-party code repository is configured. The valid provider type is Bitbucket.

", + "Connection$ProviderType": "

The name of the external provider where your third-party code repository is configured.

", + "CreateConnectionInput$ProviderType": "

The name of the external provider where your third-party code repository is configured.

", "CreateHostInput$ProviderType": "

The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.

", "GetHostOutput$ProviderType": "

The provider type of the requested host, such as GitHub Enterprise Server.

", "Host$ProviderType": "

The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.

", @@ -323,6 +332,11 @@ "VpcConfiguration$TlsCertificate": "

The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.

" } }, + "UnsupportedOperationException": { + "base": "

The operation is not supported. Check the connection status and try again.

", + "refs": { + } + }, "UntagResourceInput": { "base": null, "refs": { @@ -333,12 +347,23 @@ "refs": { } }, + "UpdateHostInput": { + "base": null, + "refs": { + } + }, + "UpdateHostOutput": { + "base": null, + "refs": { + } + }, "Url": { "base": null, "refs": { "CreateHostInput$ProviderEndpoint": "

The endpoint of the infrastructure to be represented by the host after it is created.

", "GetHostOutput$ProviderEndpoint": "

The endpoint of the infrastructure represented by the requested host.

", - "Host$ProviderEndpoint": "

The endpoint of the infrastructure where your provider type is installed.

" + "Host$ProviderEndpoint": "

The endpoint of the infrastructure where your provider type is installed.

", + "UpdateHostInput$ProviderEndpoint": "

The URL or endpoint of the host to be updated.

" } }, "VpcConfiguration": { @@ -346,7 +371,8 @@ "refs": { "CreateHostInput$VpcConfiguration": "

The VPC configuration to be provisioned for the host. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC.

", "GetHostOutput$VpcConfiguration": "

The VPC configuration of the requested host.

", - "Host$VpcConfiguration": "

The VPC configuration provisioned for the host.

" + "Host$VpcConfiguration": "

The VPC configuration provisioned for the host.

", + "UpdateHostInput$VpcConfiguration": "

The VPC configuration of the host to be updated. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC.

" } }, "VpcId": { diff --git a/models/apis/dynamodb/2012-08-10/api-2.json b/models/apis/dynamodb/2012-08-10/api-2.json index b86bc7453d..4edef58273 100644 --- a/models/apis/dynamodb/2012-08-10/api-2.json +++ b/models/apis/dynamodb/2012-08-10/api-2.json @@ -13,6 +13,19 @@ "uid":"dynamodb-2012-08-10" }, "operations":{ + "BatchExecuteStatement":{ + "name":"BatchExecuteStatement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchExecuteStatementInput"}, + "output":{"shape":"BatchExecuteStatementOutput"}, + "errors":[ + {"shape":"RequestLimitExceeded"}, + {"shape":"InternalServerError"} + ] + }, "BatchGetItem":{ "name":"BatchGetItem", "http":{ @@ -251,6 +264,21 @@ "endpointdiscovery":{ } }, + "DescribeKinesisStreamingDestination":{ + "name":"DescribeKinesisStreamingDestination", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeKinesisStreamingDestinationInput"}, + "output":{"shape":"DescribeKinesisStreamingDestinationOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"} + ], + "endpointdiscovery":{ + } + }, "DescribeLimits":{ "name":"DescribeLimits", "http":{ @@ -308,6 +336,77 @@ "endpointdiscovery":{ } }, + "DisableKinesisStreamingDestination":{ + "name":"DisableKinesisStreamingDestination", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"KinesisStreamingDestinationInput"}, + "output":{"shape":"KinesisStreamingDestinationOutput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ], + "endpointdiscovery":{ + } + }, + "EnableKinesisStreamingDestination":{ + "name":"EnableKinesisStreamingDestination", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"KinesisStreamingDestinationInput"}, + "output":{"shape":"KinesisStreamingDestinationOutput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ], + "endpointdiscovery":{ + } + }, + "ExecuteStatement":{ + "name":"ExecuteStatement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExecuteStatementInput"}, + "output":{"shape":"ExecuteStatementOutput"}, + "errors":[ + {"shape":"ConditionalCheckFailedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ItemCollectionSizeLimitExceededException"}, + {"shape":"TransactionConflictException"}, + {"shape":"RequestLimitExceeded"}, + {"shape":"InternalServerError"}, + {"shape":"DuplicateItemException"} + ] + }, + "ExecuteTransaction":{ + "name":"ExecuteTransaction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExecuteTransactionInput"}, + "output":{"shape":"ExecuteTransactionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TransactionCanceledException"}, + {"shape":"TransactionInProgressException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"RequestLimitExceeded"}, + {"shape":"InternalServerError"} + ] + }, "ExportTableToPointInTime":{ "name":"ExportTableToPointInTime", "http":{ @@ -980,6 +1079,19 @@ "max":100, "min":1 }, + "BatchExecuteStatementInput":{ + "type":"structure", + "required":["Statements"], + "members":{ + "Statements":{"shape":"PartiQLBatchRequest"} + } + }, + "BatchExecuteStatementOutput":{ + "type":"structure", + "members":{ + "Responses":{"shape":"PartiQLBatchResponse"} + } + }, "BatchGetItemInput":{ "type":"structure", "required":["RequestItems"], @@ -1008,6 +1120,46 @@ "key":{"shape":"TableName"}, "value":{"shape":"ItemList"} }, + "BatchStatementError":{ + "type":"structure", + "members":{ + "Code":{"shape":"BatchStatementErrorCodeEnum"}, + "Message":{"shape":"String"} + } + }, + "BatchStatementErrorCodeEnum":{ + "type":"string", + "enum":[ + "ConditionalCheckFailed", + "ItemCollectionSizeLimitExceeded", + "RequestLimitExceeded", + "ValidationError", + "ProvisionedThroughputExceeded", + "TransactionConflict", + "ThrottlingError", + "InternalServerError", + "ResourceNotFound", + "AccessDenied", + "DuplicateItem" + ] + }, + "BatchStatementRequest":{ + "type":"structure", + "required":["Statement"], + "members":{ + "Statement":{"shape":"PartiQLStatement"}, + "Parameters":{"shape":"PreparedStatementParameters"}, + "ConsistentRead":{"shape":"ConsistentRead"} + } + }, + "BatchStatementResponse":{ + "type":"structure", + "members":{ + "Error":{"shape":"BatchStatementError"}, + "TableName":{"shape":"TableName"}, + "Item":{"shape":"AttributeMap"} + } + }, "BatchWriteItemInput":{ "type":"structure", "required":["RequestItems"], @@ -1505,6 +1657,20 @@ "ReplicaSettings":{"shape":"ReplicaSettingsDescriptionList"} } }, + "DescribeKinesisStreamingDestinationInput":{ + "type":"structure", + "required":["TableName"], + "members":{ + "TableName":{"shape":"TableName"} + } + }, + "DescribeKinesisStreamingDestinationOutput":{ + "type":"structure", + "members":{ + "TableName":{"shape":"TableName"}, + "KinesisDataStreamDestinations":{"shape":"KinesisDataStreamDestinations"} + } + }, "DescribeLimitsInput":{ "type":"structure", "members":{ @@ -1558,7 +1724,24 @@ "TimeToLiveDescription":{"shape":"TimeToLiveDescription"} } }, + "DestinationStatus":{ + "type":"string", + "enum":[ + "ENABLING", + "ACTIVE", + "DISABLING", + "DISABLED", + "ENABLE_FAILED" + ] + }, "Double":{"type":"double"}, + "DuplicateItemException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "Endpoint":{ "type":"structure", "required":[ @@ -1577,6 +1760,40 @@ "ErrorMessage":{"type":"string"}, "ExceptionDescription":{"type":"string"}, "ExceptionName":{"type":"string"}, + "ExecuteStatementInput":{ + "type":"structure", + "required":["Statement"], + "members":{ + "Statement":{"shape":"PartiQLStatement"}, + "Parameters":{"shape":"PreparedStatementParameters"}, + "ConsistentRead":{"shape":"ConsistentRead"}, + "NextToken":{"shape":"PartiQLNextToken"} + } + }, + "ExecuteStatementOutput":{ + "type":"structure", + "members":{ + "Items":{"shape":"ItemList"}, + "NextToken":{"shape":"PartiQLNextToken"} + } + }, + "ExecuteTransactionInput":{ + "type":"structure", + "required":["TransactStatements"], + "members":{ + "TransactStatements":{"shape":"ParameterizedStatements"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "ExecuteTransactionOutput":{ + "type":"structure", + "members":{ + "Responses":{"shape":"ItemResponseList"} + } + }, "ExpectedAttributeMap":{ "type":"map", "key":{"shape":"AttributeName"}, @@ -2052,6 +2269,37 @@ "ExpressionAttributeNames":{"shape":"ExpressionAttributeNameMap"} } }, + "KinesisDataStreamDestination":{ + "type":"structure", + "members":{ + "StreamArn":{"shape":"StreamArn"}, + "DestinationStatus":{"shape":"DestinationStatus"}, + "DestinationStatusDescription":{"shape":"String"} + } + }, + "KinesisDataStreamDestinations":{ + "type":"list", + "member":{"shape":"KinesisDataStreamDestination"} + }, + "KinesisStreamingDestinationInput":{ + "type":"structure", + "required":[ + "TableName", + "StreamArn" + ], + "members":{ + "TableName":{"shape":"TableName"}, + "StreamArn":{"shape":"StreamArn"} + } + }, + "KinesisStreamingDestinationOutput":{ + "type":"structure", + "members":{ + "TableName":{"shape":"TableName"}, + "StreamArn":{"shape":"StreamArn"}, + "DestinationStatus":{"shape":"DestinationStatus"} + } + }, "LastUpdateDateTime":{"type":"timestamp"}, "LimitExceededException":{ "type":"structure", @@ -2242,6 +2490,40 @@ "type":"list", "member":{"shape":"NumberAttributeValue"} }, + "ParameterizedStatement":{ + "type":"structure", + "required":["Statement"], + "members":{ + "Statement":{"shape":"PartiQLStatement"}, + "Parameters":{"shape":"PreparedStatementParameters"} + } + }, + "ParameterizedStatements":{ + "type":"list", + "member":{"shape":"ParameterizedStatement"}, + "max":25, + "min":1 + }, + "PartiQLBatchRequest":{ + "type":"list", + "member":{"shape":"BatchStatementRequest"}, + "max":25, + "min":1 + }, + "PartiQLBatchResponse":{ + "type":"list", + "member":{"shape":"BatchStatementResponse"} + }, + "PartiQLNextToken":{ + "type":"string", + "max":32768, + "min":1 + }, + "PartiQLStatement":{ + "type":"string", + "max":8192, + "min":1 + }, "PointInTimeRecoveryDescription":{ "type":"structure", "members":{ @@ -2279,6 +2561,11 @@ "type":"long", "min":1 }, + "PreparedStatementParameters":{ + "type":"list", + "member":{"shape":"AttributeValue"}, + "min":1 + }, "Projection":{ "type":"structure", "members":{ diff --git a/models/apis/dynamodb/2012-08-10/docs-2.json b/models/apis/dynamodb/2012-08-10/docs-2.json index c8cb8df5af..10d69f241a 100644 --- a/models/apis/dynamodb/2012-08-10/docs-2.json +++ b/models/apis/dynamodb/2012-08-10/docs-2.json @@ -2,6 +2,7 @@ "version": "2.0", "service": "Amazon DynamoDB

Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. DynamoDB lets you offload the administrative burdens of operating and scaling a distributed database, so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling.

With DynamoDB, you can create database tables that can store and retrieve any amount of data, and serve any level of request traffic. You can scale up or scale down your tables' throughput capacity without downtime or performance degradation, and use the AWS Management Console to monitor resource utilization and performance metrics.

DynamoDB automatically spreads the data and traffic for your tables over a sufficient number of servers to handle your throughput and storage requirements, while maintaining consistent and fast performance. All of your data is stored on solid state disks (SSDs) and automatically replicated across multiple Availability Zones in an AWS region, providing built-in high availability and data durability.

", "operations": { + "BatchExecuteStatement": "

This operation allows you to perform batch reads and writes on data stored in DynamoDB, using PartiQL.

", "BatchGetItem": "

The BatchGetItem operation returns the attributes of one or more items from one or more tables. You identify requested items by primary key.

A single operation can retrieve up to 16 MB of data, which can contain as many as 100 items. BatchGetItem returns a partial result if the response size limit is exceeded, the table's provisioned throughput is exceeded, or an internal processing failure occurs. If a partial result is returned, the operation returns a value for UnprocessedKeys. You can use this value to retry the operation starting with the next item to get.

If you request more than 100 items, BatchGetItem returns a ValidationException with the message \"Too many items requested for the BatchGetItem call.\"

For example, if you ask to retrieve 100 items, but each individual item is 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns an appropriate UnprocessedKeys value so you can get the next page of results. If desired, your application can include its own logic to assemble the pages of results into one dataset.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchGetItem returns a ProvisionedThroughputExceededException. If at least one of the items is successfully processed, then BatchGetItem completes successfully, while returning the keys of the unread items in UnprocessedKeys.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

By default, BatchGetItem performs eventually consistent reads on every table in the request. If you want strongly consistent reads instead, you can set ConsistentRead to true for any or all tables.

In order to minimize response latency, BatchGetItem retrieves items in parallel.

When designing your application, keep in mind that DynamoDB does not return items in any particular order. To help parse the response by item, include the primary key values for the items in your request in the ProjectionExpression parameter.

If a requested item does not exist, it is not returned in the result. Requests for nonexistent items consume the minimum read capacity units according to the type of read. For more information, see Working with Tables in the Amazon DynamoDB Developer Guide.

", "BatchWriteItem": "

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can write up to 16 MB of data, which can comprise as many as 25 put or delete requests. Individual items to be written can be as large as 400 KB.

BatchWriteItem cannot update items. To update items, use the UpdateItem action.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

", "CreateBackup": "

Creates a backup for an existing table.

Each time you create an on-demand backup, the entire table data is backed up. There is no limit to the number of on-demand backups that can be taken.

When you create an on-demand backup, a time marker of the request is cataloged, and the backup is created asynchronously, by applying all changes until the time of the request to the last full table snapshot. Backup requests are processed instantaneously and become available for restore within minutes.

You can call CreateBackup at a maximum rate of 50 times per second.

All backups in DynamoDB work without consuming any provisioned throughput on the table.

If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed to contain all data committed to the table up to 14:24:00, and data committed after 14:26:00 will not be. The backup might contain data modifications made between 14:24:00 and 14:26:00. On-demand backup does not support causal consistency.

Along with data, the following are also included on the backups:

", @@ -17,10 +18,15 @@ "DescribeExport": "

Describes an existing table export.

", "DescribeGlobalTable": "

Returns information about the specified global table.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use DescribeTable instead.

", "DescribeGlobalTableSettings": "

Describes Region-specific settings for a global table.

This operation only applies to Version 2017.11.29 of global tables.

", + "DescribeKinesisStreamingDestination": "

Returns information about the status of Kinesis streaming.

", "DescribeLimits": "

Returns the current provisioned-capacity quotas for your AWS account in a Region, both for the Region as a whole and for any one DynamoDB table that you create there.

When you establish an AWS account, the account has initial quotas on the maximum read capacity units and write capacity units that you can provision across all of your DynamoDB tables in a given Region. Also, there are per-table quotas that apply when you create a table there. For more information, see Service, Account, and Table Quotas page in the Amazon DynamoDB Developer Guide.

Although you can increase these quotas by filing a case at AWS Support Center, obtaining the increase is not instantaneous. The DescribeLimits action lets you write code to compare the capacity you are currently using to those quotas imposed by your account so that you have enough time to apply for an increase before you hit a quota.

For example, you could use one of the AWS SDKs to do the following:

  1. Call DescribeLimits for a particular Region to obtain your current account quotas on provisioned capacity there.

  2. Create a variable to hold the aggregate read capacity units provisioned for all your tables in that Region, and one to hold the aggregate write capacity units. Zero them both.

  3. Call ListTables to obtain a list of all your DynamoDB tables.

  4. For each table name listed by ListTables, do the following:

  5. Report the account quotas for that Region returned by DescribeLimits, along with the total current provisioned capacity levels you have calculated.

This will let you see whether you are getting close to your account-level quotas.

The per-table quotas apply only when you are creating a new table. They restrict the sum of the provisioned capacity of the new table itself and all its global secondary indexes.

For existing tables and their GSIs, DynamoDB doesn't let you increase provisioned capacity extremely rapidly, but the only quota that applies is that the aggregate provisioned capacity over all your tables and GSIs cannot exceed either of the per-account quotas.

DescribeLimits should only be called periodically. You can expect throttling errors if you call it more than once in a minute.

The DescribeLimits Request element has no content.

", "DescribeTable": "

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

", "DescribeTableReplicaAutoScaling": "

Describes auto scaling settings across replicas of the global table at once.

This operation only applies to Version 2019.11.21 of global tables.

", "DescribeTimeToLive": "

Gives a description of the Time to Live (TTL) status on the specified table.

", + "DisableKinesisStreamingDestination": "

Stops replication from the DynamoDB table to the Kinesis data stream. This is done without deleting either of the resources.

", + "EnableKinesisStreamingDestination": "

Starts table data replication to the specified Kinesis data stream at a timestamp chosen during the enable workflow. If this operation doesn't return results immediately, use DescribeKinesisStreamingDestination to check if streaming to the Kinesis data stream is ACTIVE.

", + "ExecuteStatement": "

This operation allows you to perform reads and singleton writes on data stored in DynamoDB, using PartiQL.

", + "ExecuteTransaction": "

This operation allows you to perform transactional reads or writes on data stored in DynamoDB, using PartiQL.

", "ExportTableToPointInTime": "

Exports table data to an S3 bucket. The table must have point in time recovery enabled, and you can export data from any time within the point in time recovery window.

", "GetItem": "

The GetItem operation returns a set of attributes for the item with the given primary key. If there is no matching item, GetItem does not return any data and there will be no Item element in the response.

GetItem provides an eventually consistent read by default. If your application requires a strongly consistent read, set ConsistentRead to true. Although a strongly consistent read might take more time than an eventually consistent read, it always returns the last updated value.

", "ListBackups": "

List backups associated with an AWS account. To list backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.

In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.

You can call ListBackups a maximum of five times per second.

", @@ -83,6 +89,7 @@ "AttributeMap": { "base": null, "refs": { + "BatchStatementResponse$Item": "

A DynamoDB item associated with a BatchStatementResponse

", "CancellationReason$Item": "

Item in the request which caused the transaction to get cancelled.

", "DeleteItemOutput$Attributes": "

A map of attribute names to AttributeValue objects, representing the item as it appeared before the DeleteItem operation. This map appears in the response only if ReturnValues was specified as ALL_OLD in the request.

", "GetItemOutput$Item": "

A map of attribute names to AttributeValue objects, as specified by ProjectionExpression.

", @@ -135,6 +142,7 @@ "Key$value": null, "ListAttributeValue$member": null, "MapAttributeValue$value": null, + "PreparedStatementParameters$member": null, "PutItemInputAttributeMap$value": null } }, @@ -324,6 +332,16 @@ "ListBackupsInput$Limit": "

Maximum number of backups to return at once.

" } }, + "BatchExecuteStatementInput": { + "base": null, + "refs": { + } + }, + "BatchExecuteStatementOutput": { + "base": null, + "refs": { + } + }, "BatchGetItemInput": { "base": "

Represents the input of a BatchGetItem operation.

", "refs": { @@ -347,6 +365,30 @@ "BatchGetItemOutput$Responses": "

A map of table name to a list of items. Each object in Responses consists of a table name, along with a map of attribute data consisting of the data type and attribute value.

" } }, + "BatchStatementError": { + "base": "

An error associated with a statement in a PartiQL batch that was run.

", + "refs": { + "BatchStatementResponse$Error": "

The error associated with a failed PartiQL batch statement.

" + } + }, + "BatchStatementErrorCodeEnum": { + "base": null, + "refs": { + "BatchStatementError$Code": "

The error code associated with the failed PartiQL batch statement.

" + } + }, + "BatchStatementRequest": { + "base": "

A PartiQL batch statement request.

", + "refs": { + "PartiQLBatchRequest$member": null + } + }, + "BatchStatementResponse": { + "base": "

A PartiQL batch statement response..

", + "refs": { + "PartiQLBatchResponse$member": null + } + }, "BatchWriteItemInput": { "base": "

Represents the input of a BatchWriteItem operation.

", "refs": { @@ -443,6 +485,7 @@ "ClientRequestToken": { "base": null, "refs": { + "ExecuteTransactionInput$ClientRequestToken": "

Set this value to get remaining results, if NextToken was returned in the statement response.

", "TransactWriteItemsInput$ClientRequestToken": "

Providing a ClientRequestToken makes the call to TransactWriteItems idempotent, meaning that multiple identical calls have the same effect as one single call.

Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the ReturnConsumedCapacity> parameter is set, then the initial TransactWriteItems call returns the amount of write capacity units consumed in making the changes. Subsequent TransactWriteItems calls with the same client token return the number of read capacity units consumed in reading the item.

A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.

If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an IdempotentParameterMismatch exception.

" } }, @@ -511,6 +554,8 @@ "ConsistentRead": { "base": null, "refs": { + "BatchStatementRequest$ConsistentRead": "

The read consistency of the PartiQL batch request.

", + "ExecuteStatementInput$ConsistentRead": "

The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used.

", "GetItemInput$ConsistentRead": "

Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

", "KeysAndAttributes$ConsistentRead": "

The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used.

", "QueryInput$ConsistentRead": "

Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

", @@ -802,6 +847,16 @@ "refs": { } }, + "DescribeKinesisStreamingDestinationInput": { + "base": null, + "refs": { + } + }, + "DescribeKinesisStreamingDestinationOutput": { + "base": null, + "refs": { + } + }, "DescribeLimitsInput": { "base": "

Represents the input of a DescribeLimits operation. Has no content.

", "refs": { @@ -842,6 +897,13 @@ "refs": { } }, + "DestinationStatus": { + "base": null, + "refs": { + "KinesisDataStreamDestination$DestinationStatus": "

The current status of replication.

", + "KinesisStreamingDestinationOutput$DestinationStatus": "

The current status of the replication.

" + } + }, "Double": { "base": null, "refs": { @@ -849,6 +911,11 @@ "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate$TargetValue": "

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

" } }, + "DuplicateItemException": { + "base": "

There was an attempt to insert an item with the same primary key as an item that already exists in the DynamoDB table.

", + "refs": { + } + }, "Endpoint": { "base": "

An endpoint information details.

", "refs": { @@ -869,6 +936,7 @@ "CancellationReason$Message": "

Cancellation reason message description.

", "ConditionalCheckFailedException$message": "

The conditional request failed.

", "ContinuousBackupsUnavailableException$message": null, + "DuplicateItemException$message": null, "ExportConflictException$message": null, "ExportNotFoundException$message": null, "GlobalTableAlreadyExistsException$message": null, @@ -907,6 +975,26 @@ "FailureException$ExceptionName": "

Exception name.

" } }, + "ExecuteStatementInput": { + "base": null, + "refs": { + } + }, + "ExecuteStatementOutput": { + "base": null, + "refs": { + } + }, + "ExecuteTransactionInput": { + "base": null, + "refs": { + } + }, + "ExecuteTransactionOutput": { + "base": null, + "refs": { + } + }, "ExpectedAttributeMap": { "base": null, "refs": { @@ -1351,6 +1439,7 @@ "base": null, "refs": { "BatchGetResponseMap$value": null, + "ExecuteStatementOutput$Items": "

If a read operation was used, this property will contain the result of the reade operation; a map of attribute names and their values. For the write operations this value will be empty.

", "QueryOutput$Items": "

An array of item attributes that match the query criteria. Each element in this array consists of an attribute name and the value for that attribute.

", "ScanOutput$Items": "

An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.

" } @@ -1364,6 +1453,7 @@ "ItemResponseList": { "base": null, "refs": { + "ExecuteTransactionOutput$Responses": "

The response to a PartiQL transaction.

", "TransactGetItemsOutput$Responses": "

An ordered array of up to 25 ItemResponse objects, each of which corresponds to the TransactGetItem object in the same position in the TransactItems array. Each ItemResponse object contains a Map of the name-value pairs that are the projected attributes of the requested item.

If a requested item could not be retrieved, the corresponding ItemResponse object is Null, or if the requested item has no projected attributes, the corresponding ItemResponse object is an empty Map.

" } }, @@ -1458,6 +1548,28 @@ "BatchGetRequestMap$value": null } }, + "KinesisDataStreamDestination": { + "base": "

Describes a Kinesis data stream destination.

", + "refs": { + "KinesisDataStreamDestinations$member": null + } + }, + "KinesisDataStreamDestinations": { + "base": null, + "refs": { + "DescribeKinesisStreamingDestinationOutput$KinesisDataStreamDestinations": "

The list of replica structures for the table being described.

" + } + }, + "KinesisStreamingDestinationInput": { + "base": null, + "refs": { + } + }, + "KinesisStreamingDestinationOutput": { + "base": null, + "refs": { + } + }, "LastUpdateDateTime": { "base": null, "refs": { @@ -1659,6 +1771,45 @@ "AttributeValue$NS": "

An attribute of type Number Set. For example:

\"NS\": [\"42.2\", \"-19\", \"7.5\", \"3.14\"]

Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

" } }, + "ParameterizedStatement": { + "base": "

Represents a PartiQL statment that uses parameters.

", + "refs": { + "ParameterizedStatements$member": null + } + }, + "ParameterizedStatements": { + "base": null, + "refs": { + "ExecuteTransactionInput$TransactStatements": "

The list of PartiQL statements representing the transaction to run.

" + } + }, + "PartiQLBatchRequest": { + "base": null, + "refs": { + "BatchExecuteStatementInput$Statements": "

The list of PartiQL statements representing the batch to run.

" + } + }, + "PartiQLBatchResponse": { + "base": null, + "refs": { + "BatchExecuteStatementOutput$Responses": "

The response to each PartiQL statement in the batch.

" + } + }, + "PartiQLNextToken": { + "base": null, + "refs": { + "ExecuteStatementInput$NextToken": "

Set this value to get remaining results, if NextToken was returned in the statement response.

", + "ExecuteStatementOutput$NextToken": "

If the response of a read request exceeds the response payload limit DynamoDB will set this value in the response. If set, you can use that this value in the subsequent request to get the remaining results.

" + } + }, + "PartiQLStatement": { + "base": null, + "refs": { + "BatchStatementRequest$Statement": "

A valid PartiQL statement.

", + "ExecuteStatementInput$Statement": "

The PartiQL statement representing the operation to run.

", + "ParameterizedStatement$Statement": "

A PartiQL statment that uses parameters.

" + } + }, "PointInTimeRecoveryDescription": { "base": "

The description of the point in time settings applied to the table.

", "refs": { @@ -1713,6 +1864,14 @@ "UpdateGlobalTableSettingsInput$GlobalTableProvisionedWriteCapacityUnits": "

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" } }, + "PreparedStatementParameters": { + "base": null, + "refs": { + "BatchStatementRequest$Parameters": "

The parameters associated with a PartiQL statement in the batch request.

", + "ExecuteStatementInput$Parameters": "

The parameters for the PartiQL statement, if any.

", + "ParameterizedStatement$Parameters": "

The parameter values.

" + } + }, "Projection": { "base": "

Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

", "refs": { @@ -2260,6 +2419,9 @@ "StreamArn": { "base": null, "refs": { + "KinesisDataStreamDestination$StreamArn": "

The ARN for a specific Kinesis data stream.

", + "KinesisStreamingDestinationInput$StreamArn": "

The ARN for a Kinesis data stream.

", + "KinesisStreamingDestinationOutput$StreamArn": "

The ARN for the specific Kinesis data stream.

", "TableDescription$LatestStreamArn": "

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.

" } }, @@ -2288,8 +2450,10 @@ "base": null, "refs": { "AutoScalingSettingsDescription$AutoScalingRoleArn": "

Role ARN used for configuring the auto scaling policy.

", + "BatchStatementError$Message": "

The error message associated with the PartiQL batch resposne.

", "Endpoint$Address": "

IP address of the endpoint.

", "GlobalSecondaryIndexDescription$IndexArn": "

The Amazon Resource Name (ARN) that uniquely identifies the index.

", + "KinesisDataStreamDestination$DestinationStatusDescription": "

The human-readable string that corresponds to the replica status.

", "LocalSecondaryIndexDescription$IndexArn": "

The Amazon Resource Name (ARN) that uniquely identifies the index.

", "TableDescription$TableArn": "

The Amazon Resource Name (ARN) that uniquely identifies the table.

", "TableDescription$LatestStreamLabel": "

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

", @@ -2370,6 +2534,7 @@ "BackupSummary$TableName": "

Name of the table.

", "BatchGetRequestMap$key": null, "BatchGetResponseMap$key": null, + "BatchStatementResponse$TableName": "

The table name associated with a failed PartiQL batch statement.

", "BatchWriteItemRequestMap$key": null, "ConditionCheck$TableName": "

Name of the table for the check item request.

", "ConsumedCapacity$TableName": "

The name of the table that was affected by the operation.

", @@ -2386,6 +2551,8 @@ "DescribeGlobalTableInput$GlobalTableName": "

The name of the global table.

", "DescribeGlobalTableSettingsInput$GlobalTableName": "

The name of the global table to describe.

", "DescribeGlobalTableSettingsOutput$GlobalTableName": "

The name of the global table.

", + "DescribeKinesisStreamingDestinationInput$TableName": "

The name of the table being described.

", + "DescribeKinesisStreamingDestinationOutput$TableName": "

The name of the table being described.

", "DescribeTableInput$TableName": "

The name of the table to describe.

", "DescribeTableReplicaAutoScalingInput$TableName": "

The name of the table.

", "DescribeTimeToLiveInput$TableName": "

The name of the table to be described.

", @@ -2394,6 +2561,8 @@ "GlobalTable$GlobalTableName": "

The global table name.

", "GlobalTableDescription$GlobalTableName": "

The global table name.

", "ItemCollectionMetricsPerTable$key": null, + "KinesisStreamingDestinationInput$TableName": "

The name of the DynamoDB table.

", + "KinesisStreamingDestinationOutput$TableName": "

The name of the table being modified.

", "ListBackupsInput$TableName": "

The backups from the table specified by TableName are listed.

", "ListContributorInsightsInput$TableName": "

The name of the table.

", "ListGlobalTablesInput$ExclusiveStartGlobalTableName": "

The first global table name that this operation will evaluate.

", diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 18085ceadc..ac7338666a 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -23649,6 +23649,22 @@ "Role" ] }, + "PrivateDnsDetails":{ + "type":"structure", + "members":{ + "PrivateDnsName":{ + "shape":"String", + "locationName":"privateDnsName" + } + } + }, + "PrivateDnsDetailsSet":{ + "type":"list", + "member":{ + "shape":"PrivateDnsDetails", + "locationName":"item" + } + }, "PrivateDnsNameConfiguration":{ "type":"structure", "members":{ @@ -26844,6 +26860,10 @@ "shape":"String", "locationName":"privateDnsName" }, + "PrivateDnsNames":{ + "shape":"PrivateDnsDetailsSet", + "locationName":"privateDnsNameSet" + }, "VpcEndpointPolicySupported":{ "shape":"Boolean", "locationName":"vpcEndpointPolicySupported" diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index a23fc4f250..38d9e2b599 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -10857,6 +10857,18 @@ "AllowedPrincipal$PrincipalType": "

The type of principal.

" } }, + "PrivateDnsDetails": { + "base": "

Information about the Private DNS name for interface endpoints.

", + "refs": { + "PrivateDnsDetailsSet$member": null + } + }, + "PrivateDnsDetailsSet": { + "base": null, + "refs": { + "ServiceDetail$PrivateDnsNames": "

The private DNS names assigned to the VPC endpoint service.

" + } + }, "PrivateDnsNameConfiguration": { "base": "

Information about the private DNS name for the service endpoint. For more information about these parameters, see VPC Endpoint Service Private DNS Name Verification in the Amazon Virtual Private Cloud User Guide.

", "refs": { @@ -13673,6 +13685,7 @@ "PrefixListId$PrefixListId": "

The ID of the prefix.

", "PrefixListIdSet$member": null, "PrincipalIdFormat$Arn": "

PrincipalIdFormatARN description

", + "PrivateDnsDetails$PrivateDnsName": "

The private DNS name assigned to the VPC endpoint service.

", "PrivateDnsNameConfiguration$Type": "

The endpoint service verification type, for example TXT.

", "PrivateDnsNameConfiguration$Value": "

The value the service provider adds to the private DNS name domain record before verification.

", "PrivateDnsNameConfiguration$Name": "

The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

", diff --git a/models/apis/ecs/2014-11-13/api-2.json b/models/apis/ecs/2014-11-13/api-2.json index 226da77a39..b87d21ff1b 100644 --- a/models/apis/ecs/2014-11-13/api-2.json +++ b/models/apis/ecs/2014-11-13/api-2.json @@ -672,6 +672,20 @@ {"shape":"InvalidParameterException"} ] }, + "UpdateCapacityProvider":{ + "name":"UpdateCapacityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCapacityProviderRequest"}, + "output":{"shape":"UpdateCapacityProviderResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"} + ] + }, "UpdateClusterSettings":{ "name":"UpdateClusterSettings", "http":{ @@ -867,6 +881,13 @@ "managedTerminationProtection":{"shape":"ManagedTerminationProtection"} } }, + "AutoScalingGroupProviderUpdate":{ + "type":"structure", + "members":{ + "managedScaling":{"shape":"ManagedScaling"}, + "managedTerminationProtection":{"shape":"ManagedTerminationProtection"} + } + }, "AwsVpcConfiguration":{ "type":"structure", "required":["subnets"], @@ -946,7 +967,10 @@ "enum":[ "DELETE_IN_PROGRESS", "DELETE_COMPLETE", - "DELETE_FAILED" + "DELETE_FAILED", + "UPDATE_IN_PROGRESS", + "UPDATE_COMPLETE", + "UPDATE_FAILED" ] }, "CapacityProviders":{ @@ -1421,17 +1445,32 @@ "desiredCount":{"shape":"Integer"}, "pendingCount":{"shape":"Integer"}, "runningCount":{"shape":"Integer"}, + "failedTasks":{"shape":"Integer"}, "createdAt":{"shape":"Timestamp"}, "updatedAt":{"shape":"Timestamp"}, "capacityProviderStrategy":{"shape":"CapacityProviderStrategy"}, "launchType":{"shape":"LaunchType"}, "platformVersion":{"shape":"String"}, - "networkConfiguration":{"shape":"NetworkConfiguration"} + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "rolloutState":{"shape":"DeploymentRolloutState"}, + "rolloutStateReason":{"shape":"String"} + } + }, + "DeploymentCircuitBreaker":{ + "type":"structure", + "required":[ + "enable", + "rollback" + ], + "members":{ + "enable":{"shape":"Boolean"}, + "rollback":{"shape":"Boolean"} } }, "DeploymentConfiguration":{ "type":"structure", "members":{ + "deploymentCircuitBreaker":{"shape":"DeploymentCircuitBreaker"}, "maximumPercent":{"shape":"BoxedInteger"}, "minimumHealthyPercent":{"shape":"BoxedInteger"} } @@ -1451,6 +1490,14 @@ "EXTERNAL" ] }, + "DeploymentRolloutState":{ + "type":"string", + "enum":[ + "COMPLETED", + "FAILED", + "IN_PROGRESS" + ] + }, "Deployments":{ "type":"list", "member":{"shape":"Deployment"} @@ -2094,9 +2141,15 @@ "status":{"shape":"ManagedScalingStatus"}, "targetCapacity":{"shape":"ManagedScalingTargetCapacity"}, "minimumScalingStepSize":{"shape":"ManagedScalingStepSize"}, - "maximumScalingStepSize":{"shape":"ManagedScalingStepSize"} + "maximumScalingStepSize":{"shape":"ManagedScalingStepSize"}, + "instanceWarmupPeriod":{"shape":"ManagedScalingInstanceWarmupPeriod"} } }, + "ManagedScalingInstanceWarmupPeriod":{ + "type":"integer", + "max":10000, + "min":0 + }, "ManagedScalingStatus":{ "type":"string", "enum":[ @@ -3106,6 +3159,23 @@ "members":{ } }, + "UpdateCapacityProviderRequest":{ + "type":"structure", + "required":[ + "name", + "autoScalingGroupProvider" + ], + "members":{ + "name":{"shape":"String"}, + "autoScalingGroupProvider":{"shape":"AutoScalingGroupProviderUpdate"} + } + }, + "UpdateCapacityProviderResponse":{ + "type":"structure", + "members":{ + "capacityProvider":{"shape":"CapacityProvider"} + } + }, "UpdateClusterSettingsRequest":{ "type":"structure", "required":[ diff --git a/models/apis/ecs/2014-11-13/docs-2.json b/models/apis/ecs/2014-11-13/docs-2.json index 28da8cfed1..4c7433b966 100644 --- a/models/apis/ecs/2014-11-13/docs-2.json +++ b/models/apis/ecs/2014-11-13/docs-2.json @@ -45,6 +45,7 @@ "SubmitTaskStateChange": "

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Sent to acknowledge that a task changed states.

", "TagResource": "

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well.

", "UntagResource": "

Deletes specified tags from a resource.

", + "UpdateCapacityProvider": "

Modifies the parameters for a capacity provider.

", "UpdateClusterSettings": "

Modifies the settings to use for a cluster.

", "UpdateContainerAgent": "

Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent does not interrupt running tasks or services on the container instance. The process for updating the agent differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another operating system.

UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux with the ecs-init service installed and running. For help updating the Amazon ECS container agent on other operating systems, see Manually Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide.

", "UpdateContainerInstancesState": "

Modifies the status of an Amazon ECS container instance.

Once a container instance has reached an ACTIVE state, you can change the status of a container instance to DRAINING to manually remove an instance from a cluster, for example to perform system updates, update the Docker daemon, or scale down the cluster size.

A container instance cannot be changed to DRAINING until it has reached an ACTIVE status. If the instance is in any other status, an error will be received.

When you set a container instance to DRAINING, Amazon ECS prevents new tasks from being scheduled for placement on the container instance and replacement service tasks are started on other container instances in the cluster if the resources are available. Service tasks on the container instance that are in the PENDING state are stopped immediately.

Service tasks on the container instance that are in the RUNNING state are stopped and replaced according to the service's deployment configuration parameters, minimumHealthyPercent and maximumPercent. You can change the deployment configuration of your service using UpdateService.

Any PENDING or RUNNING tasks that do not belong to a service are not affected. You must wait for them to finish or stop them manually.

A container instance has completed draining when it has no more RUNNING tasks. You can verify this using ListTasks.

When a container instance has been drained, you can set a container instance to ACTIVE status and once it has reached that status the Amazon ECS scheduler can begin scheduling tasks on the instance again.

", @@ -135,6 +136,12 @@ "CreateCapacityProviderRequest$autoScalingGroupProvider": "

The details of the Auto Scaling group for the capacity provider.

" } }, + "AutoScalingGroupProviderUpdate": { + "base": "

The details of the Auto Scaling group capacity provider to update.

", + "refs": { + "UpdateCapacityProviderRequest$autoScalingGroupProvider": "

The name of the capacity provider to update.

" + } + }, "AwsVpcConfiguration": { "base": "

An object representing the networking details for a task or service.

", "refs": { @@ -151,6 +158,8 @@ "refs": { "ContainerInstance$agentConnected": "

This parameter returns true if the agent is connected to Amazon ECS. Registered instances with an agent that may be unhealthy or stopped return false. Only instances connected to an agent can accept placement requests.

", "CreateServiceRequest$enableECSManagedTags": "

Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

", + "DeploymentCircuitBreaker$enable": "

Whether to enable the deployment circuit breaker logic for the service.

", + "DeploymentCircuitBreaker$rollback": "

Whether to enable Amazon ECS to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.

", "ListAccountSettingsRequest$effectiveSettings": "

Specifies whether to return the effective settings. If true, the account settings for the root user or the default setting for the principalArn are returned. If false, the account settings for the principalArn are returned if they are set. Otherwise, no account settings are returned.

", "RunTaskRequest$enableECSManagedTags": "

Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

", "Service$enableECSManagedTags": "

Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

", @@ -227,7 +236,8 @@ "refs": { "CapacityProviders$member": null, "CreateCapacityProviderResponse$capacityProvider": "

The full description of the new capacity provider.

", - "DeleteCapacityProviderResponse$capacityProvider": null + "DeleteCapacityProviderResponse$capacityProvider": null, + "UpdateCapacityProviderResponse$capacityProvider": null } }, "CapacityProviderField": { @@ -594,6 +604,12 @@ "Deployments$member": null } }, + "DeploymentCircuitBreaker": { + "base": "

The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type that are not behind a Classic Load Balancer.

The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If enabled, a service deployment will transition to a failed state and stop launching new tasks. You can also enable Amazon ECS to roll back your service to the last completed deployment after a failure. For more information, see Rolling update in the Amazon Elastic Container Service Developer Guide.

", + "refs": { + "DeploymentConfiguration$deploymentCircuitBreaker": "

The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type.

The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If deployment circuit breaker is enabled, a service deployment will transition to a failed state and stop launching new tasks. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.

" + } + }, "DeploymentConfiguration": { "base": "

Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.

", "refs": { @@ -615,6 +631,12 @@ "DeploymentController$type": "

The deployment controller type to use.

There are three deployment controller types available:

ECS

The rolling update (ECS) deployment type involves replacing the current running version of the container with the latest version. The number of containers Amazon ECS adds or removes from the service during a rolling update is controlled by adjusting the minimum and maximum number of healthy tasks allowed during a service deployment, as specified in the DeploymentConfiguration.

CODE_DEPLOY

The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model powered by AWS CodeDeploy, which allows you to verify a new deployment of a service before sending production traffic to it.

EXTERNAL

The external (EXTERNAL) deployment type enables you to use any third-party deployment controller for full control over the deployment process for an Amazon ECS service.

" } }, + "DeploymentRolloutState": { + "base": null, + "refs": { + "Deployment$rolloutState": "

The rolloutState of a service is only returned for services that use the rolling update (ECS) deployment type that are not behind a Classic Load Balancer.

The rollout state of the deployment. When a service deployment is started, it begins in an IN_PROGRESS state. When the service reaches a steady state, the deployment will transition to a COMPLETED state. If the service fails to reach a steady state and circuit breaker is enabled, the deployment will transition to a FAILED state. A deployment in FAILED state will launch no new tasks. For more information, see DeploymentCircuitBreaker.

" + } + }, "Deployments": { "base": null, "refs": { @@ -946,6 +968,7 @@ "Deployment$desiredCount": "

The most recent desired count of tasks that was specified for the service to deploy or maintain.

", "Deployment$pendingCount": "

The number of tasks in the deployment that are in the PENDING status.

", "Deployment$runningCount": "

The number of tasks in the deployment that are in the RUNNING status.

", + "Deployment$failedTasks": "

The number of consecutively failed tasks in the deployment. A task is considered a failure if the service scheduler can't launch the task, the task doesn't transition to a RUNNING state, or if it fails any of its defined health checks and is stopped.

Once a service deployment has one or more successfully running tasks, the failed task count resets to zero and stops being evaluated.

", "ListAccountSettingsRequest$maxResults": "

The maximum number of account setting results returned by ListAccountSettings in paginated output. When this parameter is used, ListAccountSettings 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 ListAccountSettings request with the returned nextToken value. This value can be between 1 and 10. If this parameter is not used, then ListAccountSettings returns up to 10 results and a nextToken value if applicable.

", "Resource$integerValue": "

When the integerValue type is set, the value of the resource must be an integer.

", "Service$desiredCount": "

The desired number of instantiations of the task definition to keep running on the service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

", @@ -1146,7 +1169,14 @@ "ManagedScaling": { "base": "

The managed scaling settings for the Auto Scaling group capacity provider.

When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity value as the target value for the metric. For more information, see Using Managed Scaling in the Amazon Elastic Container Service Developer Guide.

If managed scaling is disabled, the user must manage the scaling of the Auto Scaling group.

", "refs": { - "AutoScalingGroupProvider$managedScaling": "

The managed scaling settings for the Auto Scaling group capacity provider.

" + "AutoScalingGroupProvider$managedScaling": "

The managed scaling settings for the Auto Scaling group capacity provider.

", + "AutoScalingGroupProviderUpdate$managedScaling": null + } + }, + "ManagedScalingInstanceWarmupPeriod": { + "base": null, + "refs": { + "ManagedScaling$instanceWarmupPeriod": "

The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of 300 seconds is used.

" } }, "ManagedScalingStatus": { @@ -1158,8 +1188,8 @@ "ManagedScalingStepSize": { "base": null, "refs": { - "ManagedScaling$minimumScalingStepSize": "

The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter If this parameter is omitted, the default value of 1 is used.

When additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.

If you use a capacity provider with an Auto Scaling group configured with more than one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum scaling step size value and will ignore both the maximum scaling step size as well as the capacity demand.

", - "ManagedScaling$maximumScalingStepSize": "

The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter. If this parameter is omitted, the default value of 10000 is used.

" + "ManagedScaling$minimumScalingStepSize": "

The minimum number of container instances that Amazon ECS will scale in or scale out at one time. If this parameter is omitted, the default value of 1 is used.

", + "ManagedScaling$maximumScalingStepSize": "

The maximum number of container instances that Amazon ECS will scale in or scale out at one time. If this parameter is omitted, the default value of 10000 is used.

" } }, "ManagedScalingTargetCapacity": { @@ -1171,7 +1201,8 @@ "ManagedTerminationProtection": { "base": null, "refs": { - "AutoScalingGroupProvider$managedTerminationProtection": "

The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection.

When using managed termination protection, managed scaling must also be used otherwise managed termination protection will not work.

When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

When managed termination protection is disabled, your Amazon EC2 instances are not protected from termination when the Auto Scaling group scales in.

" + "AutoScalingGroupProvider$managedTerminationProtection": "

The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection.

When using managed termination protection, managed scaling must also be used otherwise managed termination protection will not work.

When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

When managed termination protection is disabled, your Amazon EC2 instances are not protected from termination when the Auto Scaling group scales in.

", + "AutoScalingGroupProviderUpdate$managedTerminationProtection": "

The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection.

When using managed termination protection, managed scaling must also be used otherwise managed termination protection will not work.

When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

When managed termination protection is disabled, your Amazon EC2 instances are not protected from termination when the Auto Scaling group scales in.

" } }, "MissingVersionException": { @@ -1233,8 +1264,8 @@ "NetworkMode": { "base": null, "refs": { - "RegisterTaskDefinitionRequest$networkMode": "

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If you are using the Fargate launch type, the awsvpc network mode is required. If you are using the EC2 launch type, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

", - "TaskDefinition$networkMode": "

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If you are using the Fargate launch type, the awsvpc network mode is required. If you are using the EC2 launch type, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

" + "RegisterTaskDefinitionRequest$networkMode": "

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge.

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

When using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

", + "TaskDefinition$networkMode": "

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge.

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

When using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

" } }, "NoUpdateAvailableException": { @@ -1341,7 +1372,7 @@ } }, "ProxyConfiguration": { - "base": "

The configuration details for the App Mesh proxy.

For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to enable a proxy configuration. If your container instances are launched from the Amazon ECS-optimized AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

For tasks using the Fargate launch type, the task or service requires platform version 1.3.0 or later.

", + "base": "

The configuration details for the App Mesh proxy.

For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to enable a proxy configuration. If your container instances are launched from the Amazon ECS-optimized AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI

", "refs": { "RegisterTaskDefinitionRequest$proxyConfiguration": null, "TaskDefinition$proxyConfiguration": "

The configuration details for the App Mesh proxy.

Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to enable a proxy configuration. If your container instances are launched from the Amazon ECS-optimized AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" @@ -1693,7 +1724,7 @@ "ContainerDefinition$name": "

The name of a container. If you are linking multiple containers together in a task definition, the name of one container can be entered in the links of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This parameter maps to name in the Create a container section of the Docker Remote API and the --name option to docker run.

", "ContainerDefinition$image": "

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

", "ContainerDefinition$hostname": "

The hostname to use for your container. This parameter maps to Hostname in the Create a container section of the Docker Remote API and the --hostname option to docker run.

The hostname parameter is not supported if you are using the awsvpc network mode.

", - "ContainerDefinition$user": "

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

You can use the following formats. If specifying a UID or GID, you must specify it as a positive integer.

This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

", + "ContainerDefinition$user": "

The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

When running tasks using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.

You can specify the user using the following formats. If specifying a UID or GID, you must specify it as a positive integer.

This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

", "ContainerDefinition$workingDirectory": "

The working directory in which to run commands inside the container. This parameter maps to WorkingDir in the Create a container section of the Docker Remote API and the --workdir option to docker run.

", "ContainerDependency$containerName": "

The name of a container.

", "ContainerInstance$containerInstanceArn": "

The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

", @@ -1734,6 +1765,7 @@ "Deployment$status": "

The status of the deployment. The following describes each state:

PRIMARY

The most recent deployment of a service.

ACTIVE

A service deployment that still has running tasks, but are in the process of being replaced with a new PRIMARY deployment.

INACTIVE

A deployment that has been completely replaced.

", "Deployment$taskDefinition": "

The most recent task definition that was specified for the tasks in the service to use.

", "Deployment$platformVersion": "

The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

", + "Deployment$rolloutStateReason": "

A description of the rollout state of a deployment.

", "DeregisterContainerInstanceRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to deregister. If you do not specify a cluster, the default cluster is assumed.

", "DeregisterContainerInstanceRequest$containerInstance": "

The container instance ID or full ARN of the container instance to deregister. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

", "DeregisterTaskDefinitionRequest$taskDefinition": "

The family and revision (family:revision) or full Amazon Resource Name (ARN) of the task definition to deregister. You must specify a revision.

", @@ -1758,8 +1790,8 @@ "EFSVolumeConfiguration$fileSystemId": "

The Amazon EFS file system ID to use.

", "EFSVolumeConfiguration$rootDirectory": "

The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect as omitting this parameter.

If an EFS access point is specified in the authorizationConfig, the root directory parameter must either be omitted or set to / which will enforce the path set on the EFS access point.

", "EnvironmentFile$value": "

The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment variable file.

", - "FSxWindowsFileServerAuthorizationConfig$credentialsParameter": "

The authorization credential option to use.

The authorization credential options can be provided using either the AWS Secrets Manager ARN or the AWS Systems Manager ARN. The ARNs refer to the stored credentials.

options:

", - "FSxWindowsFileServerAuthorizationConfig$domain": "

A fully qualified domain name hosted by an AWS Directory Service Managed Microsoft AD (Active Directory) or self-hosted EC2 AD.

", + "FSxWindowsFileServerAuthorizationConfig$credentialsParameter": "

The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or AWS Systems Manager Parameter Store parameter. The ARNs refer to the stored credentials.

", + "FSxWindowsFileServerAuthorizationConfig$domain": "

A fully qualified domain name hosted by an AWS Directory Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2.

", "FSxWindowsFileServerVolumeConfiguration$fileSystemId": "

The Amazon FSx for Windows File Server file system ID to use.

", "FSxWindowsFileServerVolumeConfiguration$rootDirectory": "

The directory within the Amazon FSx for Windows File Server file system to mount as the root directory inside the host.

", "Failure$arn": "

The Amazon Resource Name (ARN) of the failed resource.

", @@ -1929,6 +1961,7 @@ "TaskSet$platformVersion": "

The platform version on which the tasks in the task set are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

", "Tmpfs$containerPath": "

The absolute file path where the tmpfs volume is to be mounted.

", "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container instances.

", + "UpdateCapacityProviderRequest$name": "

An object representing the parameters to update for the Auto Scaling group capacity provider.

", "UpdateClusterSettingsRequest$cluster": "

The name of the cluster to modify the settings for.

", "UpdateContainerAgentRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is running on. If you do not specify a cluster, the default cluster is assumed.

", "UpdateContainerAgentRequest$containerInstance": "

The container instance ID or full ARN entries for the container instance on which you would like to update the Amazon ECS container agent.

", @@ -2308,6 +2341,16 @@ "refs": { } }, + "UpdateCapacityProviderRequest": { + "base": null, + "refs": { + } + }, + "UpdateCapacityProviderResponse": { + "base": null, + "refs": { + } + }, "UpdateClusterSettingsRequest": { "base": null, "refs": { diff --git a/models/apis/elasticache/2015-02-02/docs-2.json b/models/apis/elasticache/2015-02-02/docs-2.json index 0014a26627..56aa7d7e6d 100644 --- a/models/apis/elasticache/2015-02-02/docs-2.json +++ b/models/apis/elasticache/2015-02-02/docs-2.json @@ -2056,7 +2056,7 @@ "DescribeReservedCacheNodesOfferingsMessage$CacheNodeType": "

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

", "DescribeReservedCacheNodesOfferingsMessage$Duration": "

Duration filter value, specified in years or seconds. Use this parameter to show only reservations for a given duration.

Valid Values: 1 | 3 | 31536000 | 94608000

", "DescribeReservedCacheNodesOfferingsMessage$ProductDescription": "

The product description filter value. Use this parameter to show only the available offerings matching the specified product description.

", - "DescribeReservedCacheNodesOfferingsMessage$OfferingType": "

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\"

", + "DescribeReservedCacheNodesOfferingsMessage$OfferingType": "

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\" |\"All Upfront\"|\"Partial Upfront\"| \"No Upfront\"

", "DescribeReservedCacheNodesOfferingsMessage$Marker": "

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DescribeServiceUpdatesMessage$ServiceUpdateName": "

The unique ID of the service update

", "DescribeServiceUpdatesMessage$Marker": "

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", diff --git a/models/apis/elasticmapreduce/2009-03-31/api-2.json b/models/apis/elasticmapreduce/2009-03-31/api-2.json index 5149aa9156..38b16f27f5 100644 --- a/models/apis/elasticmapreduce/2009-03-31/api-2.json +++ b/models/apis/elasticmapreduce/2009-03-31/api-2.json @@ -89,6 +89,31 @@ {"shape":"InvalidRequestException"} ] }, + "CreateStudio":{ + "name":"CreateStudio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStudioInput"}, + "output":{"shape":"CreateStudioOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ] + }, + "CreateStudioSessionMapping":{ + "name":"CreateStudioSessionMapping", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStudioSessionMappingInput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidRequestException"} + ] + }, "DeleteSecurityConfiguration":{ "name":"DeleteSecurityConfiguration", "http":{ @@ -102,6 +127,30 @@ {"shape":"InvalidRequestException"} ] }, + "DeleteStudio":{ + "name":"DeleteStudio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStudioInput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ] + }, + "DeleteStudioSessionMapping":{ + "name":"DeleteStudioSessionMapping", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStudioSessionMappingInput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidRequestException"} + ] + }, "DescribeCluster":{ "name":"DescribeCluster", "http":{ @@ -167,6 +216,19 @@ {"shape":"InvalidRequestException"} ] }, + "DescribeStudio":{ + "name":"DescribeStudio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStudioInput"}, + "output":{"shape":"DescribeStudioOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ] + }, "GetBlockPublicAccessConfiguration":{ "name":"GetBlockPublicAccessConfiguration", "http":{ @@ -189,6 +251,19 @@ "input":{"shape":"GetManagedScalingPolicyInput"}, "output":{"shape":"GetManagedScalingPolicyOutput"} }, + "GetStudioSessionMapping":{ + "name":"GetStudioSessionMapping", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetStudioSessionMappingInput"}, + "output":{"shape":"GetStudioSessionMappingOutput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidRequestException"} + ] + }, "ListBootstrapActions":{ "name":"ListBootstrapActions", "http":{ @@ -293,6 +368,32 @@ {"shape":"InvalidRequestException"} ] }, + "ListStudioSessionMappings":{ + "name":"ListStudioSessionMappings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStudioSessionMappingsInput"}, + "output":{"shape":"ListStudioSessionMappingsOutput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidRequestException"} + ] + }, + "ListStudios":{ + "name":"ListStudios", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStudiosInput"}, + "output":{"shape":"ListStudiosOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ] + }, "ModifyCluster":{ "name":"ModifyCluster", "http":{ @@ -460,6 +561,18 @@ "errors":[ {"shape":"InternalServerError"} ] + }, + "UpdateStudioSessionMapping":{ + "name":"UpdateStudioSessionMapping", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateStudioSessionMappingInput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidRequestException"} + ] } }, "shapes":{ @@ -569,6 +682,13 @@ "max":2048, "min":20 }, + "AuthMode":{ + "type":"string", + "enum":[ + "SSO", + "IAM" + ] + }, "AutoScalingPolicy":{ "type":"structure", "required":[ @@ -905,6 +1025,54 @@ "CreationDateTime":{"shape":"Date"} } }, + "CreateStudioInput":{ + "type":"structure", + "required":[ + "Name", + "AuthMode", + "VpcId", + "SubnetIds", + "ServiceRole", + "UserRole", + "WorkspaceSecurityGroupId", + "EngineSecurityGroupId" + ], + "members":{ + "Name":{"shape":"XmlStringMaxLen256"}, + "Description":{"shape":"XmlStringMaxLen256"}, + "AuthMode":{"shape":"AuthMode"}, + "VpcId":{"shape":"XmlStringMaxLen256"}, + "SubnetIds":{"shape":"SubnetIdList"}, + "ServiceRole":{"shape":"XmlString"}, + "UserRole":{"shape":"XmlString"}, + "WorkspaceSecurityGroupId":{"shape":"XmlStringMaxLen256"}, + "EngineSecurityGroupId":{"shape":"XmlStringMaxLen256"}, + "DefaultS3Location":{"shape":"XmlString"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateStudioOutput":{ + "type":"structure", + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "Url":{"shape":"XmlString"} + } + }, + "CreateStudioSessionMappingInput":{ + "type":"structure", + "required":[ + "StudioId", + "IdentityType", + "SessionPolicyArn" + ], + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "IdentityId":{"shape":"XmlStringMaxLen256"}, + "IdentityName":{"shape":"XmlStringMaxLen256"}, + "IdentityType":{"shape":"IdentityType"}, + "SessionPolicyArn":{"shape":"XmlStringMaxLen256"} + } + }, "Date":{"type":"timestamp"}, "DeleteSecurityConfigurationInput":{ "type":"structure", @@ -918,6 +1086,26 @@ "members":{ } }, + "DeleteStudioInput":{ + "type":"structure", + "required":["StudioId"], + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"} + } + }, + "DeleteStudioSessionMappingInput":{ + "type":"structure", + "required":[ + "StudioId", + "IdentityType" + ], + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "IdentityId":{"shape":"XmlStringMaxLen256"}, + "IdentityName":{"shape":"XmlStringMaxLen256"}, + "IdentityType":{"shape":"IdentityType"} + } + }, "DescribeClusterInput":{ "type":"structure", "required":["ClusterId"], @@ -991,6 +1179,19 @@ "Step":{"shape":"Step"} } }, + "DescribeStudioInput":{ + "type":"structure", + "required":["StudioId"], + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"} + } + }, + "DescribeStudioOutput":{ + "type":"structure", + "members":{ + "Studio":{"shape":"Studio"} + } + }, "EC2InstanceIdsList":{ "type":"list", "member":{"shape":"InstanceId"} @@ -1112,6 +1313,25 @@ "ManagedScalingPolicy":{"shape":"ManagedScalingPolicy"} } }, + "GetStudioSessionMappingInput":{ + "type":"structure", + "required":[ + "StudioId", + "IdentityType" + ], + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "IdentityId":{"shape":"XmlStringMaxLen256"}, + "IdentityName":{"shape":"XmlStringMaxLen256"}, + "IdentityType":{"shape":"IdentityType"} + } + }, + "GetStudioSessionMappingOutput":{ + "type":"structure", + "members":{ + "SessionMapping":{"shape":"SessionMappingDetail"} + } + }, "HadoopJarStepConfig":{ "type":"structure", "required":["Jar"], @@ -1131,6 +1351,13 @@ "Args":{"shape":"StringList"} } }, + "IdentityType":{ + "type":"string", + "enum":[ + "USER", + "GROUP" + ] + }, "Instance":{ "type":"structure", "members":{ @@ -1809,6 +2036,34 @@ "Marker":{"shape":"Marker"} } }, + "ListStudioSessionMappingsInput":{ + "type":"structure", + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "IdentityType":{"shape":"IdentityType"}, + "Marker":{"shape":"Marker"} + } + }, + "ListStudioSessionMappingsOutput":{ + "type":"structure", + "members":{ + "SessionMappings":{"shape":"SessionMappingSummaryList"}, + "Marker":{"shape":"Marker"} + } + }, + "ListStudiosInput":{ + "type":"structure", + "members":{ + "Marker":{"shape":"Marker"} + } + }, + "ListStudiosOutput":{ + "type":"structure", + "members":{ + "Studios":{"shape":"StudioSummaryList"}, + "Marker":{"shape":"Marker"} + } + }, "Long":{"type":"long"}, "ManagedScalingPolicy":{ "type":"structure", @@ -2203,6 +2458,33 @@ "type":"list", "member":{"shape":"XmlStringMaxLen256"} }, + "SessionMappingDetail":{ + "type":"structure", + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "IdentityId":{"shape":"XmlStringMaxLen256"}, + "IdentityName":{"shape":"XmlStringMaxLen256"}, + "IdentityType":{"shape":"IdentityType"}, + "SessionPolicyArn":{"shape":"XmlStringMaxLen256"}, + "CreationTime":{"shape":"Date"}, + "LastModifiedTime":{"shape":"Date"} + } + }, + "SessionMappingSummary":{ + "type":"structure", + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "IdentityId":{"shape":"XmlStringMaxLen256"}, + "IdentityName":{"shape":"XmlStringMaxLen256"}, + "IdentityType":{"shape":"IdentityType"}, + "SessionPolicyArn":{"shape":"XmlStringMaxLen256"}, + "CreationTime":{"shape":"Date"} + } + }, + "SessionMappingSummaryList":{ + "type":"list", + "member":{"shape":"SessionMappingSummary"} + }, "SetTerminationProtectionInput":{ "type":"structure", "required":[ @@ -2454,6 +2736,45 @@ "key":{"shape":"String"}, "value":{"shape":"String"} }, + "Studio":{ + "type":"structure", + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "StudioArn":{"shape":"XmlStringMaxLen256"}, + "Name":{"shape":"XmlStringMaxLen256"}, + "Description":{"shape":"XmlStringMaxLen256"}, + "AuthMode":{"shape":"AuthMode"}, + "VpcId":{"shape":"XmlStringMaxLen256"}, + "SubnetIds":{"shape":"SubnetIdList"}, + "ServiceRole":{"shape":"XmlString"}, + "UserRole":{"shape":"XmlString"}, + "WorkspaceSecurityGroupId":{"shape":"XmlStringMaxLen256"}, + "EngineSecurityGroupId":{"shape":"XmlStringMaxLen256"}, + "Url":{"shape":"XmlString"}, + "CreationTime":{"shape":"Date"}, + "DefaultS3Location":{"shape":"XmlString"}, + "Tags":{"shape":"TagList"} + } + }, + "StudioSummary":{ + "type":"structure", + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "Name":{"shape":"XmlStringMaxLen256"}, + "VpcId":{"shape":"XmlStringMaxLen256"}, + "Description":{"shape":"XmlStringMaxLen256"}, + "Url":{"shape":"XmlStringMaxLen256"}, + "CreationTime":{"shape":"Date"} + } + }, + "StudioSummaryList":{ + "type":"list", + "member":{"shape":"StudioSummary"} + }, + "SubnetIdList":{ + "type":"list", + "member":{"shape":"String"} + }, "SupportedProductConfig":{ "type":"structure", "members":{ @@ -2515,6 +2836,21 @@ "COUNT_PER_SECOND" ] }, + "UpdateStudioSessionMappingInput":{ + "type":"structure", + "required":[ + "StudioId", + "IdentityType", + "SessionPolicyArn" + ], + "members":{ + "StudioId":{"shape":"XmlStringMaxLen256"}, + "IdentityId":{"shape":"XmlStringMaxLen256"}, + "IdentityName":{"shape":"XmlStringMaxLen256"}, + "IdentityType":{"shape":"IdentityType"}, + "SessionPolicyArn":{"shape":"XmlStringMaxLen256"} + } + }, "VolumeSpecification":{ "type":"structure", "required":[ diff --git a/models/apis/elasticmapreduce/2009-03-31/docs-2.json b/models/apis/elasticmapreduce/2009-03-31/docs-2.json index d76f38247a..dd7c6d13f2 100644 --- a/models/apis/elasticmapreduce/2009-03-31/docs-2.json +++ b/models/apis/elasticmapreduce/2009-03-31/docs-2.json @@ -1,21 +1,27 @@ { "version": "2.0", - "service": "

Amazon EMR is a web service that makes it easy to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS products to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehousing.

", + "service": "

Amazon EMR is a web service that makes it easier to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS services to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehouse management.

", "operations": { "AddInstanceFleet": "

Adds an instance fleet to a running cluster.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x.

", "AddInstanceGroups": "

Adds one or more instance groups to a running cluster.

", "AddJobFlowSteps": "

AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

", "AddTags": "

Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

", - "CancelSteps": "

Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state.

", + "CancelSteps": "

Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee that a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state.

", "CreateSecurityConfiguration": "

Creates a security configuration, which is stored in the service and can be specified when a cluster is created.

", + "CreateStudio": "

The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to change.

Creates a new Amazon EMR Studio.

", + "CreateStudioSessionMapping": "

The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to change.

Maps a user or group to the Amazon EMR Studio specified by StudioId, and applies a session policy to refine Studio permissions for that user or group.

", "DeleteSecurityConfiguration": "

Deletes a security configuration.

", + "DeleteStudio": "

The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to change.

Removes an Amazon EMR Studio from the Studio metadata store.

", + "DeleteStudioSessionMapping": "

The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to change.

Removes a user or group from an Amazon EMR Studio.

", "DescribeCluster": "

Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on.

", - "DescribeJobFlows": "

This API is deprecated and will eventually be removed. We recommend you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead.

DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The parameters can include a list of job flow IDs, job flow states, and restrictions on job flow creation date and time.

Regardless of supplied parameters, only job flows created within the last two months are returned.

If no parameters are supplied, then job flows matching either of the following criteria are returned:

Amazon EMR can return a maximum of 512 job flow descriptions.

", + "DescribeJobFlows": "

This API is no longer supported and will eventually be removed. We recommend you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead.

DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The parameters can include a list of job flow IDs, job flow states, and restrictions on job flow creation date and time.

Regardless of supplied parameters, only job flows created within the last two months are returned.

If no parameters are supplied, then job flows matching either of the following criteria are returned:

Amazon EMR can return a maximum of 512 job flow descriptions.

", "DescribeNotebookExecution": "

Provides details of a notebook execution.

", "DescribeSecurityConfiguration": "

Provides the details of a security configuration by returning the configuration JSON.

", "DescribeStep": "

Provides more detail about the cluster step.

", + "DescribeStudio": "

The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to change.

Returns details for the specified Amazon EMR Studio including ID, Name, VPC, Studio access URL, and so on.

", "GetBlockPublicAccessConfiguration": "

Returns the Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

", - "GetManagedScalingPolicy": "

Fetches the attached managed scaling policy for an Amazon EMR cluster.

", + "GetManagedScalingPolicy": "

Fetches the attached managed scaling policy for an Amazon EMR cluster.

", + "GetStudioSessionMapping": "

The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to change.

Fetches mapping details for the specified Amazon EMR Studio and identity (user or group).

", "ListBootstrapActions": "

Provides information about the bootstrap actions associated with a cluster.

", "ListClusters": "

Provides the status of all clusters visible to this AWS account. Allows you to filter the list of clusters based on certain criteria; for example, filtering by cluster creation date and time or by status. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListClusters calls.

", "ListInstanceFleets": "

Lists all available details about the instance fleets in a cluster.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

", @@ -24,12 +30,14 @@ "ListNotebookExecutions": "

Provides summaries of all notebook executions. You can filter the list based on multiple criteria such as status, time range, and editor id. Returns a maximum of 50 notebook executions and a marker to track the paging of a longer notebook execution list across multiple ListNotebookExecution calls.

", "ListSecurityConfigurations": "

Lists all the security configurations visible to this account, providing their creation dates and times, and their names. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListSecurityConfigurations calls.

", "ListSteps": "

Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request of filter by StepStates. You can specify a maximum of ten stepIDs.

", + "ListStudioSessionMappings": "

The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to change.

Returns a list of all user or group session mappings for the EMR Studio specified by StudioId.

", + "ListStudios": "

The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to change.

Returns a list of all Amazon EMR Studios associated with the AWS account. The list includes details such as ID, Studio Access URL, and creation time for each Studio.

", "ModifyCluster": "

Modifies the number of steps that can be executed concurrently for the cluster specified using ClusterID.

", "ModifyInstanceFleet": "

Modifies the target On-Demand and target Spot capacities for the instance fleet with the specified InstanceFleetID within the cluster specified using ClusterID. The call either succeeds or fails atomically.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

", "ModifyInstanceGroups": "

ModifyInstanceGroups modifies the number of nodes and configuration settings of an instance group. The input parameters include the new target instance count for the group and the instance group ID. The call will either succeed or fail atomically.

", "PutAutoScalingPolicy": "

Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric.

", "PutBlockPublicAccessConfiguration": "

Creates or updates an Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

", - "PutManagedScalingPolicy": "

Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed scaling policy defines the limits for resources, such as EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", + "PutManagedScalingPolicy": "

Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed scaling policy defines the limits for resources, such as EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", "RemoveAutoScalingPolicy": "

Removes an automatic scaling policy from a specified instance group within an EMR cluster.

", "RemoveManagedScalingPolicy": "

Removes a managed scaling policy from a specified EMR cluster.

", "RemoveTags": "

Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

The following example removes the stack tag with value Prod from a cluster:

", @@ -38,7 +46,8 @@ "SetVisibleToAllUsers": "

Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster is visible to all IAM users of the AWS account associated with the cluster. Only the IAM user who created the cluster or the AWS account root user can call this action. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If set to false, only the IAM user that created the cluster can perform actions. This action works on running clusters. You can override the default true setting when you create a cluster by using the VisibleToAllUsers parameter with RunJobFlow.

", "StartNotebookExecution": "

Starts a notebook execution.

", "StopNotebookExecution": "

Stops a notebook execution.

", - "TerminateJobFlows": "

TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the cluster is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the cluster was created.

The maximum number of clusters allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 minutes for the cluster to completely terminate and release allocated resources, such as Amazon EC2 instances.

" + "TerminateJobFlows": "

TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the cluster is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the cluster was created.

The maximum number of clusters allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 minutes for the cluster to completely terminate and release allocated resources, such as Amazon EC2 instances.

", + "UpdateStudioSessionMapping": "

The Amazon EMR Studio APIs are in preview release for Amazon EMR and are subject to change.

Updates the session policy attached to the user or group for the specified Amazon EMR Studio.

" }, "shapes": { "ActionOnFailure": { @@ -120,6 +129,13 @@ "RunJobFlowOutput$ClusterArn": "

The Amazon Resource Name of the cluster.

" } }, + "AuthMode": { + "base": null, + "refs": { + "CreateStudioInput$AuthMode": "

Specifies whether the Studio authenticates users using single sign-on (SSO) or IAM. Amazon EMR Studio currently only supports SSO authentication.

", + "Studio$AuthMode": "

Specifies whether the Studio authenticates users using single sign-on (SSO) or IAM.

" + } + }, "AutoScalingPolicy": { "base": "

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. An automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

", "refs": { @@ -174,7 +190,7 @@ "Boolean": { "base": null, "refs": { - "BlockPublicAccessConfiguration$BlockPublicSecurityGroupRules": "

Indicates whether EMR block public access is enabled (true) or disabled (false). By default, the value is false for accounts that have created EMR clusters before July 2019. For accounts created after this, the default is true.

", + "BlockPublicAccessConfiguration$BlockPublicSecurityGroupRules": "

Indicates whether Amazon EMR block public access is enabled (true) or disabled (false). By default, the value is false for accounts that have created EMR clusters before July 2019. For accounts created after this, the default is true.

", "Cluster$AutoTerminate": "

Specifies whether the cluster should terminate after completing all steps.

", "Cluster$TerminationProtected": "

Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

", "Cluster$VisibleToAllUsers": "

Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

", @@ -268,7 +284,7 @@ "ClusterSummary$Id": "

The unique identifier for the cluster.

", "DescribeClusterInput$ClusterId": "

The identifier of the cluster to describe.

", "DescribeStepInput$ClusterId": "

The identifier of the cluster with steps to describe.

", - "GetManagedScalingPolicyInput$ClusterId": "

Specifies the ID of the cluster for which the managed scaling policy will be fetched.

", + "GetManagedScalingPolicyInput$ClusterId": "

Specifies the ID of the cluster for which the managed scaling policy will be fetched.

", "ListBootstrapActionsInput$ClusterId": "

The cluster identifier for the bootstrap actions to list.

", "ListInstanceFleetsInput$ClusterId": "

The unique identifier of the cluster.

", "ListInstanceGroupsInput$ClusterId": "

The identifier of the cluster for which to list the instance groups.

", @@ -278,7 +294,7 @@ "ModifyInstanceGroupsInput$ClusterId": "

The ID of the cluster to which the instance group belongs.

", "PutAutoScalingPolicyInput$ClusterId": "

Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

", "PutAutoScalingPolicyOutput$ClusterId": "

Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

", - "PutManagedScalingPolicyInput$ClusterId": "

Specifies the ID of an EMR cluster where the managed scaling policy is attached.

", + "PutManagedScalingPolicyInput$ClusterId": "

Specifies the ID of an EMR cluster where the managed scaling policy is attached.

", "RemoveAutoScalingPolicyInput$ClusterId": "

Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

", "RemoveManagedScalingPolicyInput$ClusterId": "

Specifies the ID of the cluster from which the managed scaling policy will be removed.

" } @@ -393,12 +409,27 @@ "refs": { } }, + "CreateStudioInput": { + "base": null, + "refs": { + } + }, + "CreateStudioOutput": { + "base": null, + "refs": { + } + }, + "CreateStudioSessionMappingInput": { + "base": null, + "refs": { + } + }, "Date": { "base": null, "refs": { "BlockPublicAccessConfigurationMetadata$CreationDateTime": "

The date and time that the configuration was created.

", "ClusterTimeline$CreationDateTime": "

The creation date and time of the cluster.

", - "ClusterTimeline$ReadyDateTime": "

The date and time when the cluster was ready to execute steps.

", + "ClusterTimeline$ReadyDateTime": "

The date and time when the cluster was ready to run steps.

", "ClusterTimeline$EndDateTime": "

The date and time when the cluster was terminated.

", "CreateSecurityConfigurationOutput$CreationDateTime": "

The date and time the security configuration was created.

", "DescribeJobFlowsInput$CreatedAfter": "

Return only job flows created after this date and time.

", @@ -430,12 +461,17 @@ "NotebookExecutionSummary$StartTime": "

The timestamp when notebook execution started.

", "NotebookExecutionSummary$EndTime": "

The timestamp when notebook execution started.

", "SecurityConfigurationSummary$CreationDateTime": "

The date and time the security configuration was created.

", + "SessionMappingDetail$CreationTime": "

The time the session mapping was created.

", + "SessionMappingDetail$LastModifiedTime": "

The time the session mapping was last modified.

", + "SessionMappingSummary$CreationTime": "

The time the session mapping was created.

", "StepExecutionStatusDetail$CreationDateTime": "

The creation date and time of the step.

", "StepExecutionStatusDetail$StartDateTime": "

The start date and time of the step.

", "StepExecutionStatusDetail$EndDateTime": "

The completion date and time of the step.

", "StepTimeline$CreationDateTime": "

The date and time when the cluster step was created.

", "StepTimeline$StartDateTime": "

The date and time when the cluster step execution started.

", - "StepTimeline$EndDateTime": "

The date and time when the cluster step execution completed or failed.

" + "StepTimeline$EndDateTime": "

The date and time when the cluster step execution completed or failed.

", + "Studio$CreationTime": "

The time the Amazon EMR Studio was created.

", + "StudioSummary$CreationTime": "

The time when the Amazon EMR Studio was created.

" } }, "DeleteSecurityConfigurationInput": { @@ -448,6 +484,16 @@ "refs": { } }, + "DeleteStudioInput": { + "base": null, + "refs": { + } + }, + "DeleteStudioSessionMappingInput": { + "base": null, + "refs": { + } + }, "DescribeClusterInput": { "base": "

This input determines which cluster to describe.

", "refs": { @@ -498,6 +544,16 @@ "refs": { } }, + "DescribeStudioInput": { + "base": null, + "refs": { + } + }, + "DescribeStudioOutput": { + "base": null, + "refs": { + } + }, "EC2InstanceIdsList": { "base": null, "refs": { @@ -533,14 +589,14 @@ "base": null, "refs": { "InstanceGroup$EbsBlockDevices": "

The EBS block devices that are mapped to this instance group.

", - "InstanceTypeSpecification$EbsBlockDevices": "

The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

" + "InstanceTypeSpecification$EbsBlockDevices": "

The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to each instance as defined by InstanceType.

" } }, "EbsConfiguration": { "base": "

The Amazon EBS configuration of a cluster instance.

", "refs": { "InstanceGroupConfig$EbsConfiguration": "

EBS configurations that will be attached to each EC2 instance in the instance group.

", - "InstanceTypeConfig$EbsConfiguration": "

The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

" + "InstanceTypeConfig$EbsConfiguration": "

The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to each instance as defined by InstanceType.

" } }, "EbsVolume": { @@ -613,6 +669,16 @@ "refs": { } }, + "GetStudioSessionMappingInput": { + "base": null, + "refs": { + } + }, + "GetStudioSessionMappingOutput": { + "base": null, + "refs": { + } + }, "HadoopJarStepConfig": { "base": "

A job flow step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.

", "refs": { @@ -626,6 +692,18 @@ "StepSummary$Config": "

The Hadoop job configuration of the cluster step.

" } }, + "IdentityType": { + "base": null, + "refs": { + "CreateStudioSessionMappingInput$IdentityType": "

Specifies whether the identity to map to the Studio is a user or a group.

", + "DeleteStudioSessionMappingInput$IdentityType": "

Specifies whether the identity to delete from the Studio is a user or a group.

", + "GetStudioSessionMappingInput$IdentityType": "

Specifies whether the identity to fetch is a user or a group.

", + "ListStudioSessionMappingsInput$IdentityType": "

Specifies whether to return session mappings for users or groups. If not specified, the results include session mapping details for both users and groups.

", + "SessionMappingDetail$IdentityType": "

Specifies whether the identity mapped to the Studio is a user or a group.

", + "SessionMappingSummary$IdentityType": "

Specifies whether the identity mapped to the Studio is a user or a group.

", + "UpdateStudioSessionMappingInput$IdentityType": "

Specifies whether the identity to update is a user or a group.

" + } + }, "Instance": { "base": "

Represents an EC2 instance provisioned as part of cluster.

", "refs": { @@ -639,7 +717,7 @@ } }, "InstanceFleet": { - "base": "

Describes an instance fleet, which is a group of EC2 instances that host a particular node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot instances, which are provisioned to meet a defined target capacity.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

", + "base": "

Describes an instance fleet, which is a group of EC2 instances that host a particular node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot Instances, which are provisioned to meet a defined target capacity.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "InstanceFleetList$member": null } @@ -680,7 +758,7 @@ } }, "InstanceFleetProvisioningSpecifications": { - "base": "

The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot instance allocation strategies are available in Amazon EMR version 5.12.1 and later.

", + "base": "

The launch specification for Spot Instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot Instance allocation strategies are available in Amazon EMR version 5.12.1 and later.

", "refs": { "InstanceFleet$LaunchSpecifications": "

Describes the launch specification for an instance fleet.

", "InstanceFleetConfig$LaunchSpecifications": "

The launch specification for the instance fleet.

" @@ -915,7 +993,7 @@ } }, "InstanceTypeConfig": { - "base": "

An instance type configuration for each instance type in an instance fleet, which determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. There can be a maximum of 5 instance type configurations in a fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

", + "base": "

An instance type configuration for each instance type in an instance fleet, which determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. There can be a maximum of five instance type configurations in a fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "InstanceTypeConfigList$member": null } @@ -944,13 +1022,13 @@ "CloudWatchAlarmDefinition$EvaluationPeriods": "

The number of periods, in five-minute increments, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is 1.

", "CloudWatchAlarmDefinition$Period": "

The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified, specify 300.

", "Cluster$NormalizedInstanceHours": "

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

", - "Cluster$EbsRootVolumeSize": "

The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

", + "Cluster$EbsRootVolumeSize": "

The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

", "Cluster$StepConcurrencyLevel": "

Specifies the number of steps that can be executed concurrently.

", "ClusterSummary$NormalizedInstanceHours": "

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

", - "ComputeLimits$MinimumCapacityUnits": "

The lower boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", - "ComputeLimits$MaximumCapacityUnits": "

The upper boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", - "ComputeLimits$MaximumOnDemandCapacityUnits": "

The upper boundary of On-Demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot instances.

", - "ComputeLimits$MaximumCoreCapacityUnits": "

The upper boundary of EC2 units for core node type in a cluster. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes.

", + "ComputeLimits$MinimumCapacityUnits": "

The lower boundary of EC2 units. It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", + "ComputeLimits$MaximumCapacityUnits": "

The upper boundary of EC2 units. It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", + "ComputeLimits$MaximumOnDemandCapacityUnits": "

The upper boundary of On-Demand EC2 units. It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot Instances.

", + "ComputeLimits$MaximumCoreCapacityUnits": "

The upper boundary of EC2 units for core node type in a cluster. It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes.

", "EbsBlockDeviceConfig$VolumesPerInstance": "

Number of EBS volumes with a specific volume configuration that will be associated with every instance in the instance group

", "InstanceGroup$RequestedInstanceCount": "

The target number of instances for the instance group.

", "InstanceGroup$RunningInstanceCount": "

The number of instances currently running in this instance group.

", @@ -961,10 +1039,10 @@ "InstanceResizePolicy$InstanceTerminationTimeout": "

Decommissioning timeout override for the specific list of instances to be terminated.

", "JobFlowInstancesConfig$InstanceCount": "

The number of EC2 instances in the cluster.

", "JobFlowInstancesDetail$InstanceCount": "

The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and core and task node. If the value is greater than 1, one instance is the master node and all others are core and task nodes.

", - "JobFlowInstancesDetail$NormalizedInstanceHours": "

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour that an m1.small runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

", + "JobFlowInstancesDetail$NormalizedInstanceHours": "

An approximation of the cost of the cluster, represented in m1.small/hours. This value is increased one time for every hour that an m1.small instance runs. Larger instances are weighted more heavily, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being increased incrementally four times. This result is only an approximation and does not reflect the actual billing rate.

", "ModifyClusterInput$StepConcurrencyLevel": "

The number of steps that can be executed concurrently. You can specify a maximum of 256 steps.

", "ModifyClusterOutput$StepConcurrencyLevel": "

The number of steps that can be executed concurrently.

", - "RunJobFlowInput$EbsRootVolumeSize": "

The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

", + "RunJobFlowInput$EbsRootVolumeSize": "

The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

", "RunJobFlowInput$StepConcurrencyLevel": "

Specifies the number of steps that can be executed concurrently. The default value is 1. The maximum value is 256.

", "ScalingConstraints$MinCapacity": "

The lower boundary of EC2 instances in an instance group below which scaling activities are not allowed to shrink. Scale-in activities will not terminate instances below this boundary.

", "ScalingConstraints$MaxCapacity": "

The upper boundary of EC2 instances in an instance group beyond which scaling activities are not allowed to grow. Scale-out activities will not add instances beyond this boundary.

", @@ -1022,7 +1100,7 @@ } }, "JobFlowInstancesConfig": { - "base": "

A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets, which is the recommended configuration. They cannot be used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration.

", + "base": "

A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets. They cannot be used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration.

", "refs": { "RunJobFlowInput$Instances": "

A specification of the number and type of Amazon EC2 instances.

" } @@ -1034,14 +1112,14 @@ } }, "KerberosAttributes": { - "base": "

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

", + "base": "

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the Amazon EMR Management Guide.

", "refs": { - "Cluster$KerberosAttributes": "

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

", - "RunJobFlowInput$KerberosAttributes": "

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" + "Cluster$KerberosAttributes": "

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the Amazon EMR Management Guide.

", + "RunJobFlowInput$KerberosAttributes": "

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the Amazon EMR Management Guide.

" } }, "KeyValue": { - "base": "

A key value pair.

", + "base": "

A key-value pair.

", "refs": { "KeyValueList$member": null } @@ -1132,6 +1210,26 @@ "refs": { } }, + "ListStudioSessionMappingsInput": { + "base": null, + "refs": { + } + }, + "ListStudioSessionMappingsOutput": { + "base": null, + "refs": { + } + }, + "ListStudiosInput": { + "base": null, + "refs": { + } + }, + "ListStudiosOutput": { + "base": null, + "refs": { + } + }, "Long": { "base": null, "refs": { @@ -1142,8 +1240,8 @@ "ManagedScalingPolicy": { "base": "

Managed scaling policy for an Amazon EMR cluster. The policy specifies the limits for resources that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", "refs": { - "GetManagedScalingPolicyOutput$ManagedScalingPolicy": "

Specifies the managed scaling policy that is attached to an Amazon EMR cluster.

", - "PutManagedScalingPolicyInput$ManagedScalingPolicy": "

Specifies the constraints for the managed scaling policy.

", + "GetManagedScalingPolicyOutput$ManagedScalingPolicy": "

Specifies the managed scaling policy that is attached to an Amazon EMR cluster.

", + "PutManagedScalingPolicyInput$ManagedScalingPolicy": "

Specifies the constraints for the managed scaling policy.

", "RunJobFlowInput$ManagedScalingPolicy": "

The specified managed scaling policy for an Amazon EMR cluster.

" } }, @@ -1165,7 +1263,11 @@ "ListSecurityConfigurationsInput$Marker": "

The pagination token that indicates the set of results to retrieve.

", "ListSecurityConfigurationsOutput$Marker": "

A pagination token that indicates the next set of results to retrieve. Include the marker in the next ListSecurityConfiguration call to retrieve the next page of results, if required.

", "ListStepsInput$Marker": "

The pagination token that indicates the next set of results to retrieve.

", - "ListStepsOutput$Marker": "

The pagination token that indicates the next set of results to retrieve.

" + "ListStepsOutput$Marker": "

The pagination token that indicates the next set of results to retrieve.

", + "ListStudioSessionMappingsInput$Marker": "

The pagination token that indicates the set of results to retrieve.

", + "ListStudioSessionMappingsOutput$Marker": "

The pagination token that indicates the next set of results to retrieve.

", + "ListStudiosInput$Marker": "

The pagination token that indicates the set of results to retrieve.

", + "ListStudiosOutput$Marker": "

The pagination token that indicates the next set of results to retrieve.

" } }, "MarketType": { @@ -1220,8 +1322,8 @@ "base": null, "refs": { "CloudWatchAlarmDefinition$Threshold": "

The value against which the specified statistic is compared.

", - "InstanceTypeConfig$BidPriceAsPercentageOfOnDemandPrice": "

The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", - "InstanceTypeSpecification$BidPriceAsPercentageOfOnDemandPrice": "

The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%).

" + "InstanceTypeConfig$BidPriceAsPercentageOfOnDemandPrice": "

The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", + "InstanceTypeSpecification$BidPriceAsPercentageOfOnDemandPrice": "

The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%).

" } }, "NotebookExecution": { @@ -1253,13 +1355,13 @@ "OnDemandProvisioningAllocationStrategy": { "base": null, "refs": { - "OnDemandProvisioningSpecification$AllocationStrategy": "

Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is lowest-price (the default), which launches the lowest price first.

" + "OnDemandProvisioningSpecification$AllocationStrategy": "

Specifies the strategy to use in launching On-Demand Instance fleets. Currently, the only option is lowest-price (the default), which launches the lowest price first.

" } }, "OnDemandProvisioningSpecification": { - "base": "

The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation strategy is available in Amazon EMR version 5.12.1 and later.

", + "base": "

The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR version 5.12.1 and later.

", "refs": { - "InstanceFleetProvisioningSpecifications$OnDemandSpecification": "

The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation strategy is available in Amazon EMR version 5.12.1 and later.

" + "InstanceFleetProvisioningSpecifications$OnDemandSpecification": "

The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR version 5.12.1 and later.

" } }, "OptionalArnType": { @@ -1401,9 +1503,9 @@ "ScaleDownBehavior": { "base": null, "refs": { - "Cluster$ScaleDownBehavior": "

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

", - "JobFlowDetail$ScaleDownBehavior": "

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

", - "RunJobFlowInput$ScaleDownBehavior": "

Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

" + "Cluster$ScaleDownBehavior": "

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

", + "JobFlowDetail$ScaleDownBehavior": "

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

", + "RunJobFlowInput$ScaleDownBehavior": "

Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

" } }, "ScalingAction": { @@ -1463,6 +1565,24 @@ "JobFlowInstancesConfig$AdditionalSlaveSecurityGroups": "

A list of additional Amazon EC2 security group IDs for the core and task nodes.

" } }, + "SessionMappingDetail": { + "base": "

Details for an Amazon EMR Studio session mapping including creation time, user or group ID, Studio ID, and so on.

", + "refs": { + "GetStudioSessionMappingOutput$SessionMapping": "

The session mapping details for the specified Amazon EMR Studio and identity, including session policy ARN and creation time.

" + } + }, + "SessionMappingSummary": { + "base": "

Details for an Amazon EMR Studio session mapping. The details do not include the time the session mapping was last modified.

", + "refs": { + "SessionMappingSummaryList$member": null + } + }, + "SessionMappingSummaryList": { + "base": null, + "refs": { + "ListStudioSessionMappingsOutput$SessionMappings": "

A list of session mapping summary objects. Each object includes session mapping details such as creation time, identity type (user or group), and Studio ID.

" + } + }, "SetTerminationProtectionInput": { "base": "

The input argument to the TerminationProtection operation.

", "refs": { @@ -1489,19 +1609,19 @@ "SpotProvisioningAllocationStrategy": { "base": null, "refs": { - "SpotProvisioningSpecification$AllocationStrategy": "

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

" + "SpotProvisioningSpecification$AllocationStrategy": "

Specifies the strategy to use in launching Spot Instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

" } }, "SpotProvisioningSpecification": { - "base": "

The launch specification for Spot instances in the instance fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. Spot instance allocation strategy is available in Amazon EMR version 5.12.1 and later.

", + "base": "

The launch specification for Spot Instances in the instance fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. Spot Instance allocation strategy is available in Amazon EMR version 5.12.1 and later.

", "refs": { - "InstanceFleetProvisioningSpecifications$SpotSpecification": "

The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

" + "InstanceFleetProvisioningSpecifications$SpotSpecification": "

The launch specification for Spot Instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

" } }, "SpotProvisioningTimeoutAction": { "base": null, "refs": { - "SpotProvisioningSpecification$TimeoutAction": "

The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

" + "SpotProvisioningSpecification$TimeoutAction": "

The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

" } }, "StartNotebookExecutionInput": { @@ -1529,7 +1649,7 @@ "StepCancellationOption": { "base": null, "refs": { - "CancelStepsInput$StepCancellationOption": "

The option to choose for cancelling RUNNING steps. By default, the value is SEND_INTERRUPT.

" + "CancelStepsInput$StepCancellationOption": "

The option to choose to cancel RUNNING steps. By default, the value is SEND_INTERRUPT.

" } }, "StepConfig": { @@ -1676,7 +1796,7 @@ "Ec2InstanceAttributes$EmrManagedSlaveSecurityGroup": "

The identifier of the Amazon EC2 security group for the core and task nodes.

", "Ec2InstanceAttributes$ServiceAccessSecurityGroup": "

The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

", "FailureDetails$Reason": "

The reason for the step failure. In the case where the service cannot successfully determine the root cause of the failure, it returns \"Unknown Error\" as a reason.

", - "FailureDetails$Message": "

The descriptive message including the error the EMR service has identified as the cause of step failure. This is text from an error log that describes the root cause of the failure.

", + "FailureDetails$Message": "

The descriptive message including the error the Amazon EMR service has identified as the cause of step failure. This is text from an error log that describes the root cause of the failure.

", "FailureDetails$LogFile": "

The path to the log file where the step failure root cause was originally recorded.

", "HadoopStepConfig$Jar": "

The path to the JAR file that runs during the step.

", "HadoopStepConfig$MainClass": "

The name of the main class in the specified Java file. If not specified, the JAR file should specify a main class in its manifest file.

", @@ -1687,7 +1807,7 @@ "Instance$InstanceGroupId": "

The identifier of the instance group to which this instance belongs.

", "InstanceFleetStateChangeReason$Message": "

An explanatory message.

", "InstanceGroup$Name": "

The name of the instance group.

", - "InstanceGroup$BidPrice": "

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", + "InstanceGroup$BidPrice": "

The bid price for each EC2 Spot Instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", "InstanceGroupStateChangeReason$Message": "

The status change reason description.

", "InstanceStateChangeReason$Message": "

The status change reason description.

", "MetricDimension$Key": "

The dimension name.

", @@ -1701,6 +1821,7 @@ "StringList$member": null, "StringMap$key": null, "StringMap$value": null, + "SubnetIdList$member": null, "Tag$Key": "

A user-defined key, which is the minimum required information for a valid tag. For more information, see Tag .

", "Tag$Value": "

A user-defined value, which is optional in a tag. For more information, see Tag Clusters.

", "VolumeSpecification$VolumeType": "

The volume type. Volume types supported are gp2, io1, standard.

" @@ -1722,7 +1843,32 @@ "refs": { "Application$AdditionalInfo": "

This option is for advanced users only. This is meta information about third-party applications that third-party vendors use for testing purposes.

", "Configuration$Properties": "

A set of properties specified within a configuration classification.

", - "HadoopStepConfig$Properties": "

The list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

" + "HadoopStepConfig$Properties": "

The list of Java properties that are set when the step runs. You can use these properties to pass key-value pairs to your main function.

" + } + }, + "Studio": { + "base": "

Details for an Amazon EMR Studio including ID, creation time, name, and so on.

", + "refs": { + "DescribeStudioOutput$Studio": "

The Amazon EMR Studio details.

" + } + }, + "StudioSummary": { + "base": "

Details for an Amazon EMR Studio, including ID, Name, VPC, and Description. The details do not include subnets, IAM roles, security groups, or tags associated with the Studio.

", + "refs": { + "StudioSummaryList$member": null + } + }, + "StudioSummaryList": { + "base": null, + "refs": { + "ListStudiosOutput$Studios": "

The list of Studio summary objects.

" + } + }, + "SubnetIdList": { + "base": null, + "refs": { + "CreateStudioInput$SubnetIds": "

A list of subnet IDs to associate with the Studio. The subnets must belong to the VPC specified by VpcId. Studio users can create a Workspace in any of the specified subnets.

", + "Studio$SubnetIds": "

The list of IDs of the subnets associated with the Amazon EMR Studio.

" } }, "SupportedProductConfig": { @@ -1734,12 +1880,12 @@ "SupportedProductsList": { "base": null, "refs": { - "JobFlowDetail$SupportedProducts": "

A list of strings set by third party software when the job flow is launched. If you are not using third party software to manage the job flow this value is empty.

", + "JobFlowDetail$SupportedProducts": "

A list of strings set by third-party software when the job flow is launched. If you are not using third-party software to manage the job flow, this value is empty.

", "RunJobFlowInput$SupportedProducts": "

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

" } }, "Tag": { - "base": "

A key/value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

", + "base": "

A key-value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

", "refs": { "TagList$member": null } @@ -1747,11 +1893,13 @@ "TagList": { "base": null, "refs": { - "AddTagsInput$Tags": "

A list of tags to associate with a cluster and propagate to EC2 instances. Tags are user-defined key/value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.

", + "AddTagsInput$Tags": "

A list of tags to associate with a cluster and propagate to EC2 instances. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.

", "Cluster$Tags": "

A list of tags associated with a cluster.

", - "NotebookExecution$Tags": "

A list of tags associated with a notebook execution. Tags are user-defined key value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

", + "CreateStudioInput$Tags": "

A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.

", + "NotebookExecution$Tags": "

A list of tags associated with a notebook execution. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

", "RunJobFlowInput$Tags": "

A list of tags to associate with a cluster and propagate to Amazon EC2 instances.

", - "StartNotebookExecutionInput$Tags": "

A list of tags associated with a notebook execution. Tags are user-defined key value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

" + "StartNotebookExecutionInput$Tags": "

A list of tags associated with a notebook execution. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

", + "Studio$Tags": "

A list of tags associated with the Amazon EMR Studio.

" } }, "TerminateJobFlowsInput": { @@ -1765,6 +1913,11 @@ "CloudWatchAlarmDefinition$Unit": "

The unit of measure associated with the CloudWatch metric being watched. The value specified for Unit must correspond to the units specified in the CloudWatch metric.

" } }, + "UpdateStudioSessionMappingInput": { + "base": null, + "refs": { + } + }, "VolumeSpecification": { "base": "

EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

", "refs": { @@ -1775,18 +1928,18 @@ "WholeNumber": { "base": null, "refs": { - "InstanceFleet$TargetOnDemandCapacity": "

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

", + "InstanceFleet$TargetOnDemandCapacity": "

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand Instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand Instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand Instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

If not specified or set to 0, only Spot Instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

", "InstanceFleet$TargetSpotCapacity": "

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

", "InstanceFleet$ProvisionedOnDemandCapacity": "

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

", "InstanceFleet$ProvisionedSpotCapacity": "

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

", - "InstanceFleetConfig$TargetOnDemandCapacity": "

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

", - "InstanceFleetConfig$TargetSpotCapacity": "

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

", + "InstanceFleetConfig$TargetOnDemandCapacity": "

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand Instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand Instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand Instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only Spot Instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

", + "InstanceFleetConfig$TargetSpotCapacity": "

The target capacity of Spot units for the instance fleet, which determines how many Spot Instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot Instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot Instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only On-Demand Instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

", "InstanceFleetModifyConfig$TargetOnDemandCapacity": "

The target capacity of On-Demand units for the instance fleet. For more information see InstanceFleetConfig$TargetOnDemandCapacity.

", "InstanceFleetModifyConfig$TargetSpotCapacity": "

The target capacity of Spot units for the instance fleet. For more information, see InstanceFleetConfig$TargetSpotCapacity.

", "InstanceTypeConfig$WeightedCapacity": "

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified.

", "InstanceTypeSpecification$WeightedCapacity": "

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. Capacity values represent performance characteristics such as vCPUs, memory, or I/O. If not specified, the default value is 1.

", - "SpotProvisioningSpecification$TimeoutDurationMinutes": "

The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

", - "SpotProvisioningSpecification$BlockDurationMinutes": "

The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

" + "SpotProvisioningSpecification$TimeoutDurationMinutes": "

The spot provisioning timeout period in minutes. If Spot Instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

", + "SpotProvisioningSpecification$BlockDurationMinutes": "

The defined duration for Spot Instances (also known as Spot blocks) in minutes. When specified, the Spot Instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot Instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot Instance for termination and provides a Spot Instance termination notice, which gives the instance a two-minute warning before it terminates.

" } }, "XmlString": { @@ -1796,6 +1949,10 @@ "Cluster$AutoScalingRole": "

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

", "CreateSecurityConfigurationInput$Name": "

The name of the security configuration.

", "CreateSecurityConfigurationOutput$Name": "

The name of the security configuration.

", + "CreateStudioInput$ServiceRole": "

The IAM role that will be assumed by the Amazon EMR Studio. The service role provides a way for Amazon EMR Studio to interoperate with other AWS services.

", + "CreateStudioInput$UserRole": "

The IAM user role that will be assumed by users and groups logged in to a Studio. The permissions attached to this IAM role can be scoped down for each user or group using session policies.

", + "CreateStudioInput$DefaultS3Location": "

The default Amazon S3 location to back up EMR Studio Workspaces and notebook files. A Studio user can select an alternative Amazon S3 location when creating a Workspace.

", + "CreateStudioOutput$Url": "

The unique Studio access URL.

", "DeleteSecurityConfigurationInput$Name": "

The name of the security configuration.

", "DescribeSecurityConfigurationInput$Name": "

The name of the security configuration.

", "DescribeSecurityConfigurationOutput$Name": "

The name of the security configuration.

", @@ -1805,19 +1962,19 @@ "JobFlowDetail$LogUri": "

The location in Amazon S3 where log files for the job are stored.

", "JobFlowDetail$LogEncryptionKmsKeyId": "

The AWS KMS customer master key (CMK) used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

", "JobFlowDetail$JobFlowRole": "

The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.

", - "JobFlowDetail$ServiceRole": "

The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

", + "JobFlowDetail$ServiceRole": "

The IAM role that is assumed by the Amazon EMR service to access AWS resources on your behalf.

", "JobFlowDetail$AutoScalingRole": "

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic scaling feature to get the required permissions it needs to launch and terminate EC2 instances in an instance group.

", "JobFlowExecutionStatusDetail$LastStateChangeReason": "

Description of the job flow last changed state.

", "JobFlowInstancesDetail$MasterPublicDnsName": "

The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

", "JobFlowInstancesDetail$MasterInstanceId": "

The Amazon EC2 instance identifier of the master node.

", - "KeyValue$Key": "

The unique identifier of a key value pair.

", + "KeyValue$Key": "

The unique identifier of a key-value pair.

", "KeyValue$Value": "

The value part of the identified key.

", "NotebookExecution$NotebookParams": "

Input parameters in JSON format passed to the EMR Notebook at runtime for execution.

", "NotebookExecution$OutputNotebookURI": "

The location of the notebook execution's output file in Amazon S3.

", "NotebookExecution$LastStateChangeReason": "

The reason for the latest status change of the notebook execution.

", "PlacementType$AvailabilityZone": "

The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used for uniform instance groups, while AvailabilityZones (plural) is used for instance fleets.

", "RunJobFlowInput$LogUri": "

The location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created.

", - "RunJobFlowInput$LogEncryptionKmsKeyId": "

The AWS KMS customer master key (CMK) used for encrypting log files. If a value is not provided, the logs will remain encrypted by AES-256. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.

", + "RunJobFlowInput$LogEncryptionKmsKeyId": "

The AWS KMS customer master key (CMK) used for encrypting log files. If a value is not provided, the logs remain encrypted by AES-256. This attribute is only available with Amazon EMR version 5.30.0 and later, excluding Amazon EMR 6.0.0.

", "RunJobFlowInput$AdditionalInfo": "

A JSON string for selecting additional features.

", "RunJobFlowInput$JobFlowRole": "

Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the CLI or console.

", "RunJobFlowInput$ServiceRole": "

The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

", @@ -1829,6 +1986,10 @@ "StartNotebookExecutionInput$NotebookParams": "

Input parameters in JSON format passed to the EMR Notebook at runtime for execution.

", "StartNotebookExecutionInput$ServiceRole": "

The name or ARN of the IAM role that is used as the service role for Amazon EMR (the EMR role) for the notebook execution.

", "StepExecutionStatusDetail$LastStateChangeReason": "

A description of the step's current state.

", + "Studio$ServiceRole": "

The name of the IAM role assumed by the Amazon EMR Studio.

", + "Studio$UserRole": "

The name of the IAM role assumed by users logged in to the Amazon EMR Studio.

", + "Studio$Url": "

The unique access URL of the Amazon EMR Studio.

", + "Studio$DefaultS3Location": "

The default Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook files.

", "XmlStringList$member": null } }, @@ -1842,7 +2003,7 @@ "SetTerminationProtectionInput$JobFlowIds": "

A list of strings that uniquely identify the clusters to protect. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows .

", "SetVisibleToAllUsersInput$JobFlowIds": "

The unique identifier of the job flow (cluster).

", "SupportedProductConfig$Args": "

The list of user-supplied arguments.

", - "TerminateJobFlowsInput$JobFlowIds": "

A list of job flows to be shutdown.

" + "TerminateJobFlowsInput$JobFlowIds": "

A list of job flows to be shut down.

" } }, "XmlStringMaxLen256": { @@ -1854,32 +2015,50 @@ "AddInstanceGroupsOutput$JobFlowId": "

The job flow ID in which the instance groups are added.

", "AddJobFlowStepsInput$JobFlowId": "

A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from ListClusters.

", "BootstrapActionConfig$Name": "

The name of the bootstrap action.

", - "CancelStepsInput$ClusterId": "

The ClusterID for which specified steps will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

", + "CancelStepsInput$ClusterId": "

The ClusterID for the specified steps that will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

", "Cluster$CustomAmiId": "

Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

", + "CreateStudioInput$Name": "

A descriptive name for the Amazon EMR Studio.

", + "CreateStudioInput$Description": "

A detailed description of the Studio.

", + "CreateStudioInput$VpcId": "

The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.

", + "CreateStudioInput$WorkspaceSecurityGroupId": "

The ID of the Amazon EMR Studio Workspace security group. The Workspace security group allows outbound network traffic to resources in the Engine security group, and it must be in the same VPC specified by VpcId.

", + "CreateStudioInput$EngineSecurityGroupId": "

The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.

", + "CreateStudioOutput$StudioId": "

The ID of the Amazon EMR Studio.

", + "CreateStudioSessionMappingInput$StudioId": "

The ID of the Amazon EMR Studio to which the user or group will be mapped.

", + "CreateStudioSessionMappingInput$IdentityId": "

The globally unique identifier (GUID) of the user or group from the AWS SSO Identity Store. For more information, see UserId and GroupId in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId must be specified.

", + "CreateStudioSessionMappingInput$IdentityName": "

The name of the user or group. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId must be specified.

", + "CreateStudioSessionMappingInput$SessionPolicyArn": "

The Amazon Resource Name (ARN) for the session policy that will be applied to the user or group. Session policies refine Studio user permissions without the need to use multiple IAM user roles.

", + "DeleteStudioInput$StudioId": "

The ID of the Amazon EMR Studio.

", + "DeleteStudioSessionMappingInput$StudioId": "

The ID of the Amazon EMR Studio.

", + "DeleteStudioSessionMappingInput$IdentityId": "

The globally unique identifier (GUID) of the user or group to remove from the Amazon EMR Studio. For more information, see UserId and GroupId in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId must be specified.

", + "DeleteStudioSessionMappingInput$IdentityName": "

The name of the user name or group to remove from the Studio. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId must be specified.

", "DescribeNotebookExecutionInput$NotebookExecutionId": "

The unique identifier of the notebook execution.

", + "DescribeStudioInput$StudioId": "

The Amazon EMR Studio ID.

", "ExecutionEngineConfig$Id": "

The unique identifier of the execution engine. For an EMR cluster, this is the cluster ID.

", "ExecutionEngineConfig$MasterInstanceSecurityGroupId": "

An optional unique ID of an EC2 security group to associate with the master instance of the EMR cluster for this notebook execution. For more information see Specifying EC2 Security Groups for EMR Notebooks in the EMR Management Guide.

", + "GetStudioSessionMappingInput$StudioId": "

The ID of the Amazon EMR Studio.

", + "GetStudioSessionMappingInput$IdentityId": "

The globally unique identifier (GUID) of the user or group. For more information, see UserId and GroupId in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId must be specified.

", + "GetStudioSessionMappingInput$IdentityName": "

The name of the user or group to fetch. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId must be specified.

", "InstanceFleet$Name": "

A friendly name for the instance fleet.

", "InstanceFleetConfig$Name": "

The friendly name of the instance fleet.

", "InstanceGroupConfig$Name": "

Friendly name given to the instance group.

", - "InstanceGroupConfig$BidPrice": "

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", + "InstanceGroupConfig$BidPrice": "

The bid price for each EC2 Spot Instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", "InstanceGroupDetail$InstanceGroupId": "

Unique identifier for the instance group.

", "InstanceGroupDetail$Name": "

Friendly name for the instance group.

", - "InstanceGroupDetail$BidPrice": "

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", + "InstanceGroupDetail$BidPrice": "

The bid price for each EC2 Spot Instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", "InstanceGroupIdsList$member": null, - "InstanceGroupModifyConfig$InstanceGroupId": "

Unique ID of the instance group to expand or shrink.

", - "InstanceTypeConfig$BidPrice": "

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", - "InstanceTypeSpecification$BidPrice": "

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

", + "InstanceGroupModifyConfig$InstanceGroupId": "

Unique ID of the instance group to modify.

", + "InstanceTypeConfig$BidPrice": "

The bid price for each EC2 Spot Instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

", + "InstanceTypeSpecification$BidPrice": "

The bid price for each EC2 Spot Instance type as defined by InstanceType. Expressed in USD.

", "JobFlowDetail$JobFlowId": "

The job flow identifier.

", "JobFlowDetail$Name": "

The name of the job flow.

", "JobFlowDetail$AmiVersion": "

Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

", - "JobFlowInstancesConfig$Ec2KeyName": "

The name of the EC2 key pair that can be used to ssh to the master node as the user called \"hadoop.\"

", - "JobFlowInstancesConfig$HadoopVersion": "

Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are \"0.18\" (deprecated), \"0.20\" (deprecated), \"0.20.205\" (deprecated), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

", + "JobFlowInstancesConfig$Ec2KeyName": "

The name of the EC2 key pair that can be used to connect to the master node using SSH as the user called \"hadoop.\"

", + "JobFlowInstancesConfig$HadoopVersion": "

Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are \"0.18\" (no longer maintained), \"0.20\" (no longer maintained), \"0.20.205\" (no longer maintained), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

", "JobFlowInstancesConfig$Ec2SubnetId": "

Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

", "JobFlowInstancesConfig$EmrManagedMasterSecurityGroup": "

The identifier of the Amazon EC2 security group for the master node.

", "JobFlowInstancesConfig$EmrManagedSlaveSecurityGroup": "

The identifier of the Amazon EC2 security group for the core and task nodes.

", "JobFlowInstancesConfig$ServiceAccessSecurityGroup": "

The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

", - "JobFlowInstancesDetail$Ec2KeyName": "

The name of an Amazon EC2 key pair that can be used to ssh to the master node.

", + "JobFlowInstancesDetail$Ec2KeyName": "

The name of an Amazon EC2 key pair that can be used to connect to the master node using SSH.

", "JobFlowInstancesDetail$Ec2SubnetId": "

For clusters launched within Amazon Virtual Private Cloud, this is the identifier of the subnet where the cluster was launched.

", "JobFlowInstancesDetail$HadoopVersion": "

The Hadoop version for the cluster.

", "KerberosAttributes$Realm": "

The name of the Kerberos realm to which all nodes in a cluster belong. For example, EC2.INTERNAL.

", @@ -1888,6 +2067,7 @@ "KerberosAttributes$ADDomainJoinUser": "

Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain.

", "KerberosAttributes$ADDomainJoinPassword": "

The Active Directory password for ADDomainJoinUser.

", "ListNotebookExecutionsInput$EditorId": "

The unique ID of the editor associated with the notebook execution.

", + "ListStudioSessionMappingsInput$StudioId": "

The ID of the Amazon EMR Studio.

", "NotebookExecution$NotebookExecutionId": "

The unique identifier of a notebook execution.

", "NotebookExecution$EditorId": "

The unique identifier of the EMR Notebook that is used for the notebook execution.

", "NotebookExecution$NotebookExecutionName": "

A name for the notebook execution.

", @@ -1902,6 +2082,14 @@ "RunJobFlowInput$CustomAmiId": "

Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead.

For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

", "RunJobFlowOutput$JobFlowId": "

An unique identifier for the job flow.

", "SecurityGroupsList$member": null, + "SessionMappingDetail$StudioId": "

The ID of the Amazon EMR Studio.

", + "SessionMappingDetail$IdentityId": "

The globally unique identifier (GUID) of the user or group.

", + "SessionMappingDetail$IdentityName": "

The name of the user or group. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference.

", + "SessionMappingDetail$SessionPolicyArn": "

The Amazon Resource Name (ARN) of the session policy associated with the user or group.

", + "SessionMappingSummary$StudioId": "

The ID of the Amazon EMR Studio.

", + "SessionMappingSummary$IdentityId": "

The globally unique identifier (GUID) of the user or group from the AWS SSO Identity Store.

", + "SessionMappingSummary$IdentityName": "

The name of the user or group. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference.

", + "SessionMappingSummary$SessionPolicyArn": "

The Amazon Resource Name (ARN) of the session policy associated with the user or group.

", "StartNotebookExecutionInput$EditorId": "

The unique identifier of the EMR Notebook to use for notebook execution.

", "StartNotebookExecutionInput$NotebookExecutionName": "

An optional name for the notebook execution.

", "StartNotebookExecutionInput$NotebookInstanceSecurityGroupId": "

The unique identifier of the Amazon EC2 security group to associate with the EMR Notebook for this notebook execution.

", @@ -1909,8 +2097,24 @@ "StepConfig$Name": "

The name of the step.

", "StepIdsList$member": null, "StopNotebookExecutionInput$NotebookExecutionId": "

The unique identifier of the notebook execution.

", + "Studio$StudioId": "

The ID of the EMR Studio.

", + "Studio$StudioArn": "

The Amazon Resource Name (ARN) of the EMR Studio.

", + "Studio$Name": "

The name of the EMR Studio.

", + "Studio$Description": "

The detailed description of the EMR Studio.

", + "Studio$VpcId": "

The ID of the VPC associated with the EMR Studio.

", + "Studio$WorkspaceSecurityGroupId": "

The ID of the Workspace security group associated with the Amazon EMR Studio. The Workspace security group allows outbound network traffic to resources in the Engine security group and to the internet.

", + "Studio$EngineSecurityGroupId": "

The ID of the Engine security group associated with the Amazon EMR Studio. The Engine security group allows inbound network traffic from resources in the Workspace security group.

", + "StudioSummary$StudioId": "

The ID of the Amazon EMR Studio.

", + "StudioSummary$Name": "

The name of the Amazon EMR Studio.

", + "StudioSummary$VpcId": "

The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon EMR Studio.

", + "StudioSummary$Description": "

The detailed description of the EMR Studio.

", + "StudioSummary$Url": "

The unique access URL of the Amazon EMR Studio.

", "SupportedProductConfig$Name": "

The name of the product configuration.

", "SupportedProductsList$member": null, + "UpdateStudioSessionMappingInput$StudioId": "

The ID of the EMR Studio.

", + "UpdateStudioSessionMappingInput$IdentityId": "

The globally unique identifier (GUID) of the user or group. For more information, see UserId and GroupId in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId must be specified.

", + "UpdateStudioSessionMappingInput$IdentityName": "

The name of the user or group to update. For more information, see UserName and DisplayName in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId must be specified.

", + "UpdateStudioSessionMappingInput$SessionPolicyArn": "

The Amazon Resource Name (ARN) of the session policy to associate with the specified user or group.

", "XmlStringMaxLen256List$member": null } }, diff --git a/models/apis/elasticmapreduce/2009-03-31/paginators-1.json b/models/apis/elasticmapreduce/2009-03-31/paginators-1.json index 7d72c7c103..d5b5407b34 100644 --- a/models/apis/elasticmapreduce/2009-03-31/paginators-1.json +++ b/models/apis/elasticmapreduce/2009-03-31/paginators-1.json @@ -42,6 +42,16 @@ "input_token": "Marker", "output_token": "Marker", "result_key": "Steps" + }, + "ListStudioSessionMappings": { + "input_token": "Marker", + "output_token": "Marker", + "result_key": "SessionMappings" + }, + "ListStudios": { + "input_token": "Marker", + "output_token": "Marker", + "result_key": "Studios" } } } \ No newline at end of file diff --git a/models/apis/forecast/2018-06-26/api-2.json b/models/apis/forecast/2018-06-26/api-2.json index 6f94a6d57e..2f12822837 100644 --- a/models/apis/forecast/2018-06-26/api-2.json +++ b/models/apis/forecast/2018-06-26/api-2.json @@ -107,6 +107,22 @@ {"shape":"LimitExceededException"} ] }, + "CreatePredictorBacktestExportJob":{ + "name":"CreatePredictorBacktestExportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePredictorBacktestExportJobRequest"}, + "output":{"shape":"CreatePredictorBacktestExportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ] + }, "DeleteDataset":{ "name":"DeleteDataset", "http":{ @@ -191,6 +207,20 @@ ], "idempotent":true }, + "DeletePredictorBacktestExportJob":{ + "name":"DeletePredictorBacktestExportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePredictorBacktestExportJobRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "idempotent":true + }, "DescribeDataset":{ "name":"DescribeDataset", "http":{ @@ -275,6 +305,20 @@ ], "idempotent":true }, + "DescribePredictorBacktestExportJob":{ + "name":"DescribePredictorBacktestExportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePredictorBacktestExportJobRequest"}, + "output":{"shape":"DescribePredictorBacktestExportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, "GetAccuracyMetrics":{ "name":"GetAccuracyMetrics", "http":{ @@ -358,6 +402,20 @@ ], "idempotent":true }, + "ListPredictorBacktestExportJobs":{ + "name":"ListPredictorBacktestExportJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPredictorBacktestExportJobsRequest"}, + "output":{"shape":"ListPredictorBacktestExportJobsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidInputException"} + ], + "idempotent":true + }, "ListPredictors":{ "name":"ListPredictors", "http":{ @@ -588,6 +646,26 @@ "ForecastArn":{"shape":"Arn"} } }, + "CreatePredictorBacktestExportJobRequest":{ + "type":"structure", + "required":[ + "PredictorBacktestExportJobName", + "PredictorArn", + "Destination" + ], + "members":{ + "PredictorBacktestExportJobName":{"shape":"Name"}, + "PredictorArn":{"shape":"Arn"}, + "Destination":{"shape":"DataDestination"}, + "Tags":{"shape":"Tags"} + } + }, + "CreatePredictorBacktestExportJobResponse":{ + "type":"structure", + "members":{ + "PredictorBacktestExportJobArn":{"shape":"Arn"} + } + }, "CreatePredictorRequest":{ "type":"structure", "required":[ @@ -719,6 +797,13 @@ "ForecastArn":{"shape":"Arn"} } }, + "DeletePredictorBacktestExportJobRequest":{ + "type":"structure", + "required":["PredictorBacktestExportJobArn"], + "members":{ + "PredictorBacktestExportJobArn":{"shape":"Arn"} + } + }, "DeletePredictorRequest":{ "type":"structure", "required":["PredictorArn"], @@ -831,6 +916,26 @@ "LastModificationTime":{"shape":"Timestamp"} } }, + "DescribePredictorBacktestExportJobRequest":{ + "type":"structure", + "required":["PredictorBacktestExportJobArn"], + "members":{ + "PredictorBacktestExportJobArn":{"shape":"Arn"} + } + }, + "DescribePredictorBacktestExportJobResponse":{ + "type":"structure", + "members":{ + "PredictorBacktestExportJobArn":{"shape":"Arn"}, + "PredictorBacktestExportJobName":{"shape":"Name"}, + "PredictorArn":{"shape":"Arn"}, + "Destination":{"shape":"DataDestination"}, + "Message":{"shape":"Message"}, + "Status":{"shape":"Status"}, + "CreationTime":{"shape":"Timestamp"}, + "LastModificationTime":{"shape":"Timestamp"} + } + }, "DescribePredictorRequest":{ "type":"structure", "required":["PredictorArn"], @@ -1198,6 +1303,21 @@ "NextToken":{"shape":"NextToken"} } }, + "ListPredictorBacktestExportJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"}, + "Filters":{"shape":"Filters"} + } + }, + "ListPredictorBacktestExportJobsResponse":{ + "type":"structure", + "members":{ + "PredictorBacktestExportJobs":{"shape":"PredictorBacktestExportJobs"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListPredictorsRequest":{ "type":"structure", "members":{ @@ -1273,6 +1393,22 @@ "max":256, "pattern":"^[a-zA-Z0-9\\-\\_\\.\\/\\[\\]\\,\\\"\\\\\\s]+$" }, + "PredictorBacktestExportJobSummary":{ + "type":"structure", + "members":{ + "PredictorBacktestExportJobArn":{"shape":"Arn"}, + "PredictorBacktestExportJobName":{"shape":"Name"}, + "Destination":{"shape":"DataDestination"}, + "Status":{"shape":"Status"}, + "Message":{"shape":"ErrorMessage"}, + "CreationTime":{"shape":"Timestamp"}, + "LastModificationTime":{"shape":"Timestamp"} + } + }, + "PredictorBacktestExportJobs":{ + "type":"list", + "member":{"shape":"PredictorBacktestExportJobSummary"} + }, "PredictorEvaluationResults":{ "type":"list", "member":{"shape":"EvaluationResult"} diff --git a/models/apis/forecast/2018-06-26/docs-2.json b/models/apis/forecast/2018-06-26/docs-2.json index ac3108bf8a..8d44ce1aef 100644 --- a/models/apis/forecast/2018-06-26/docs-2.json +++ b/models/apis/forecast/2018-06-26/docs-2.json @@ -8,24 +8,28 @@ "CreateForecast": "

Creates a forecast for each item in the TARGET_TIME_SERIES dataset that was used to train the predictor. This is known as inference. To retrieve the forecast for a single item at low latency, use the operation. To export the complete forecast into your Amazon Simple Storage Service (Amazon S3) bucket, use the CreateForecastExportJob operation.

The range of the forecast is determined by the ForecastHorizon value, which you specify in the CreatePredictor request. When you query a forecast, you can request a specific date range within the forecast.

To get a list of all your forecasts, use the ListForecasts operation.

The forecasts generated by Amazon Forecast are in the same time zone as the dataset that was used to create the predictor.

For more information, see howitworks-forecast.

The Status of the forecast must be ACTIVE before you can query or export the forecast. Use the DescribeForecast operation to get the status.

", "CreateForecastExportJob": "

Exports a forecast created by the CreateForecast operation to your Amazon Simple Storage Service (Amazon S3) bucket. The forecast file name will match the following conventions:

<ForecastExportJobName>_<ExportTimestamp>_<PartNumber>

where the <ExportTimestamp> component is in Java SimpleDateFormat (yyyy-MM-ddTHH-mm-ssZ).

You must specify a DataDestination object that includes an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket. For more information, see aws-forecast-iam-roles.

For more information, see howitworks-forecast.

To get a list of all your forecast export jobs, use the ListForecastExportJobs operation.

The Status of the forecast export job must be ACTIVE before you can access the forecast in your Amazon S3 bucket. To get the status, use the DescribeForecastExportJob operation.

", "CreatePredictor": "

Creates an Amazon Forecast predictor.

In the request, provide a dataset group and either specify an algorithm or let Amazon Forecast choose an algorithm for you using AutoML. If you specify an algorithm, you also can override algorithm-specific hyperparameters.

Amazon Forecast uses the algorithm to train a predictor using the latest version of the datasets in the specified dataset group. You can then generate a forecast using the CreateForecast operation.

To see the evaluation metrics, use the GetAccuracyMetrics operation.

You can specify a featurization configuration to fill and aggregate the data fields in the TARGET_TIME_SERIES dataset to improve model training. For more information, see FeaturizationConfig.

For RELATED_TIME_SERIES datasets, CreatePredictor verifies that the DataFrequency specified when the dataset was created matches the ForecastFrequency. TARGET_TIME_SERIES datasets don't have this restriction. Amazon Forecast also verifies the delimiter and timestamp format. For more information, see howitworks-datasets-groups.

By default, predictors are trained and evaluated at the 0.1 (P10), 0.5 (P50), and 0.9 (P90) quantiles. You can choose custom forecast types to train and evaluate your predictor by setting the ForecastTypes.

AutoML

If you want Amazon Forecast to evaluate each algorithm and choose the one that minimizes the objective function, set PerformAutoML to true. The objective function is defined as the mean of the weighted losses over the forecast types. By default, these are the p10, p50, and p90 quantile losses. For more information, see EvaluationResult.

When AutoML is enabled, the following properties are disallowed:

To get a list of all of your predictors, use the ListPredictors operation.

Before you can use the predictor to create a forecast, the Status of the predictor must be ACTIVE, signifying that training has completed. To get the status, use the DescribePredictor operation.

", + "CreatePredictorBacktestExportJob": "

Exports backtest forecasts and accuracy metrics generated by the CreatePredictor operation. Two CSV files are exported to a specified S3 bucket.

You must specify a DataDestination object that includes an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket. For more information, see aws-forecast-iam-roles.

", "DeleteDataset": "

Deletes an Amazon Forecast dataset that was created using the CreateDataset operation. You can only delete datasets that have a status of ACTIVE or CREATE_FAILED. To get the status use the DescribeDataset operation.

Forecast does not automatically update any dataset groups that contain the deleted dataset. In order to update the dataset group, use the operation, omitting the deleted dataset's ARN.

", "DeleteDatasetGroup": "

Deletes a dataset group created using the CreateDatasetGroup operation. You can only delete dataset groups that have a status of ACTIVE, CREATE_FAILED, or UPDATE_FAILED. To get the status, use the DescribeDatasetGroup operation.

This operation deletes only the dataset group, not the datasets in the group.

", "DeleteDatasetImportJob": "

Deletes a dataset import job created using the CreateDatasetImportJob operation. You can delete only dataset import jobs that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeDatasetImportJob operation.

", "DeleteForecast": "

Deletes a forecast created using the CreateForecast operation. You can delete only forecasts that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeForecast operation.

You can't delete a forecast while it is being exported. After a forecast is deleted, you can no longer query the forecast.

", "DeleteForecastExportJob": "

Deletes a forecast export job created using the CreateForecastExportJob operation. You can delete only export jobs that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeForecastExportJob operation.

", "DeletePredictor": "

Deletes a predictor created using the CreatePredictor operation. You can delete only predictor that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribePredictor operation.

", + "DeletePredictorBacktestExportJob": "

Deletes a predictor backtest export job.

", "DescribeDataset": "

Describes an Amazon Forecast dataset created using the CreateDataset operation.

In addition to listing the parameters specified in the CreateDataset request, this operation includes the following dataset properties:

", "DescribeDatasetGroup": "

Describes a dataset group created using the CreateDatasetGroup operation.

In addition to listing the parameters provided in the CreateDatasetGroup request, this operation includes the following properties:

", "DescribeDatasetImportJob": "

Describes a dataset import job created using the CreateDatasetImportJob operation.

In addition to listing the parameters provided in the CreateDatasetImportJob request, this operation includes the following properties:

", "DescribeForecast": "

Describes a forecast created using the CreateForecast operation.

In addition to listing the properties provided in the CreateForecast request, this operation lists the following properties:

", "DescribeForecastExportJob": "

Describes a forecast export job created using the CreateForecastExportJob operation.

In addition to listing the properties provided by the user in the CreateForecastExportJob request, this operation lists the following properties:

", "DescribePredictor": "

Describes a predictor created using the CreatePredictor operation.

In addition to listing the properties provided in the CreatePredictor request, this operation lists the following properties:

", + "DescribePredictorBacktestExportJob": "

Describes a predictor backtest export job created using the CreatePredictorBacktestExportJob operation.

In addition to listing the properties provided by the user in the CreatePredictorBacktestExportJob request, this operation lists the following properties:

", "GetAccuracyMetrics": "

Provides metrics on the accuracy of the models that were trained by the CreatePredictor operation. Use metrics to see how well the model performed and to decide whether to use the predictor to generate a forecast. For more information, see Predictor Metrics.

This operation generates metrics for each backtest window that was evaluated. The number of backtest windows (NumberOfBacktestWindows) is specified using the EvaluationParameters object, which is optionally included in the CreatePredictor request. If NumberOfBacktestWindows isn't specified, the number defaults to one.

The parameters of the filling method determine which items contribute to the metrics. If you want all items to contribute, specify zero. If you want only those items that have complete data in the range being evaluated to contribute, specify nan. For more information, see FeaturizationMethod.

Before you can get accuracy metrics, the Status of the predictor must be ACTIVE, signifying that training has completed. To get the status, use the DescribePredictor operation.

", "ListDatasetGroups": "

Returns a list of dataset groups created using the CreateDatasetGroup operation. For each dataset group, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the dataset group ARN with the DescribeDatasetGroup operation.

", "ListDatasetImportJobs": "

Returns a list of dataset import jobs created using the CreateDatasetImportJob operation. For each import job, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the ARN with the DescribeDatasetImportJob operation. You can filter the list by providing an array of Filter objects.

", "ListDatasets": "

Returns a list of datasets created using the CreateDataset operation. For each dataset, a summary of its properties, including its Amazon Resource Name (ARN), is returned. To retrieve the complete set of properties, use the ARN with the DescribeDataset operation.

", "ListForecastExportJobs": "

Returns a list of forecast export jobs created using the CreateForecastExportJob operation. For each forecast export job, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, use the ARN with the DescribeForecastExportJob operation. You can filter the list using an array of Filter objects.

", "ListForecasts": "

Returns a list of forecasts created using the CreateForecast operation. For each forecast, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, specify the ARN with the DescribeForecast operation. You can filter the list using an array of Filter objects.

", + "ListPredictorBacktestExportJobs": "

Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob operation. This operation returns a summary for each backtest export job. You can filter the list using an array of Filter objects.

To retrieve the complete set of properties for a particular backtest export job, use the ARN with the DescribePredictorBacktestExportJob operation.

", "ListPredictors": "

Returns a list of predictors created using the CreatePredictor operation. For each predictor, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the ARN with the DescribePredictor operation. You can filter the list using an array of Filter objects.

", "ListTagsForResource": "

Lists the tags for an Amazon Forecast resource.

", "TagResource": "

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted.

", @@ -45,6 +49,8 @@ "CreateForecastExportJobResponse$ForecastExportJobArn": "

The Amazon Resource Name (ARN) of the export job.

", "CreateForecastRequest$PredictorArn": "

The Amazon Resource Name (ARN) of the predictor to use to generate the forecast.

", "CreateForecastResponse$ForecastArn": "

The Amazon Resource Name (ARN) of the forecast.

", + "CreatePredictorBacktestExportJobRequest$PredictorArn": "

The Amazon Resource Name (ARN) of the predictor that you want to export.

", + "CreatePredictorBacktestExportJobResponse$PredictorBacktestExportJobArn": "

The Amazon Resource Name (ARN) of the predictor backtest export job that you want to export.

", "CreatePredictorRequest$AlgorithmArn": "

The Amazon Resource Name (ARN) of the algorithm to use for model training. Required if PerformAutoML is not set to true.

Supported algorithms:

", "CreatePredictorResponse$PredictorArn": "

The Amazon Resource Name (ARN) of the predictor.

", "DatasetGroupSummary$DatasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group.

", @@ -55,6 +61,7 @@ "DeleteDatasetRequest$DatasetArn": "

The Amazon Resource Name (ARN) of the dataset to delete.

", "DeleteForecastExportJobRequest$ForecastExportJobArn": "

The Amazon Resource Name (ARN) of the forecast export job to delete.

", "DeleteForecastRequest$ForecastArn": "

The Amazon Resource Name (ARN) of the forecast to delete.

", + "DeletePredictorBacktestExportJobRequest$PredictorBacktestExportJobArn": "

The Amazon Resource Name (ARN) of the predictor backtest export job to delete.

", "DeletePredictorRequest$PredictorArn": "

The Amazon Resource Name (ARN) of the predictor to delete.

", "DescribeDatasetGroupRequest$DatasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group.

", "DescribeDatasetGroupResponse$DatasetGroupArn": "

The ARN of the dataset group.

", @@ -70,6 +77,9 @@ "DescribeForecastResponse$ForecastArn": "

The forecast ARN as specified in the request.

", "DescribeForecastResponse$PredictorArn": "

The ARN of the predictor used to generate the forecast.

", "DescribeForecastResponse$DatasetGroupArn": "

The ARN of the dataset group that provided the data used to train the predictor.

", + "DescribePredictorBacktestExportJobRequest$PredictorBacktestExportJobArn": "

The Amazon Resource Name (ARN) of the predictor backtest export job.

", + "DescribePredictorBacktestExportJobResponse$PredictorBacktestExportJobArn": "

The Amazon Resource Name (ARN) of the predictor backtest export job.

", + "DescribePredictorBacktestExportJobResponse$PredictorArn": "

The Amazon Resource Name (ARN) of the predictor.

", "DescribePredictorRequest$PredictorArn": "

The Amazon Resource Name (ARN) of the predictor that you want information about.

", "DescribePredictorResponse$AlgorithmArn": "

The Amazon Resource Name (ARN) of the algorithm used for model training.

", "EncryptionConfig$RoleArn": "

The ARN of the IAM role that Amazon Forecast can assume to access the AWS KMS key.

Passing a role across AWS accounts is not allowed. If you pass a role that isn't in your account, you get an InvalidInputException error.

", @@ -80,6 +90,7 @@ "GetAccuracyMetricsRequest$PredictorArn": "

The Amazon Resource Name (ARN) of the predictor to get metrics for.

", "InputDataConfig$DatasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group.

", "ListTagsForResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Forecast dataset groups, datasets, dataset import jobs, predictors, forecasts, and forecast export jobs.

", + "PredictorBacktestExportJobSummary$PredictorBacktestExportJobArn": "

The Amazon Resource Name (ARN) of the predictor backtest export job.

", "PredictorExecution$AlgorithmArn": "

The ARN of the algorithm used to test the predictor.

", "PredictorSummary$PredictorArn": "

The ARN of the predictor.

", "PredictorSummary$DatasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group that contains the data used to train the predictor.

", @@ -188,6 +199,16 @@ "refs": { } }, + "CreatePredictorBacktestExportJobRequest": { + "base": null, + "refs": { + } + }, + "CreatePredictorBacktestExportJobResponse": { + "base": null, + "refs": { + } + }, "CreatePredictorRequest": { "base": null, "refs": { @@ -199,11 +220,14 @@ } }, "DataDestination": { - "base": "

The destination for an exported forecast, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to access the location and, optionally, an AWS Key Management Service (KMS) key. This object is submitted in the CreateForecastExportJob request.

", + "base": "

The destination for an export job, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to access the location and, optionally, an AWS Key Management Service (KMS) key.

", "refs": { "CreateForecastExportJobRequest$Destination": "

The location where you want to save the forecast and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the location. The forecast must be exported to an Amazon S3 bucket.

If encryption is used, Destination must include an AWS Key Management Service (KMS) key. The IAM role must allow Amazon Forecast permission to access the key.

", + "CreatePredictorBacktestExportJobRequest$Destination": null, "DescribeForecastExportJobResponse$Destination": "

The path to the Amazon Simple Storage Service (Amazon S3) bucket where the forecast is exported.

", - "ForecastExportJobSummary$Destination": "

The path to the Amazon Simple Storage Service (Amazon S3) bucket where the forecast is exported.

" + "DescribePredictorBacktestExportJobResponse$Destination": null, + "ForecastExportJobSummary$Destination": "

The path to the Amazon Simple Storage Service (Amazon S3) bucket where the forecast is exported.

", + "PredictorBacktestExportJobSummary$Destination": null } }, "DataSource": { @@ -283,6 +307,11 @@ "refs": { } }, + "DeletePredictorBacktestExportJobRequest": { + "base": null, + "refs": { + } + }, "DeletePredictorRequest": { "base": null, "refs": { @@ -338,6 +367,16 @@ "refs": { } }, + "DescribePredictorBacktestExportJobRequest": { + "base": null, + "refs": { + } + }, + "DescribePredictorBacktestExportJobResponse": { + "base": null, + "refs": { + } + }, "DescribePredictorRequest": { "base": null, "refs": { @@ -392,6 +431,7 @@ "InvalidInputException$Message": null, "InvalidNextTokenException$Message": null, "LimitExceededException$Message": null, + "PredictorBacktestExportJobSummary$Message": "

Information about any errors that may have occurred during the backtest export.

", "PredictorSummary$Message": "

If an error occurred, an informational message about the error.

", "ResourceAlreadyExistsException$Message": null, "ResourceInUseException$Message": null, @@ -497,6 +537,7 @@ "ListDatasetImportJobsRequest$Filters": "

An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the datasets that match the statement from the list, respectively. The match statement consists of a key and a value.

Filter properties

For example, to list all dataset import jobs whose status is ACTIVE, you specify the following filter:

\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]

", "ListForecastExportJobsRequest$Filters": "

An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the forecast export jobs that match the statement from the list, respectively. The match statement consists of a key and a value.

Filter properties

For example, to list all jobs that export a forecast named electricityforecast, specify the following filter:

\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"ForecastArn\", \"Value\": \"arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityforecast\" } ]

", "ListForecastsRequest$Filters": "

An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the forecasts that match the statement from the list, respectively. The match statement consists of a key and a value.

Filter properties

For example, to list all forecasts whose status is not ACTIVE, you would specify:

\"Filters\": [ { \"Condition\": \"IS_NOT\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]

", + "ListPredictorBacktestExportJobsRequest$Filters": "

An array of filters. For each filter, provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the predictor backtest export jobs that match the statement from the list. The match statement consists of a key and a value.

Filter properties

", "ListPredictorsRequest$Filters": "

An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the predictors that match the statement from the list, respectively. The match statement consists of a key and a value.

Filter properties

For example, to list all predictors whose status is ACTIVE, you would specify:

\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]

" } }, @@ -527,7 +568,7 @@ "ForecastType": { "base": null, "refs": { - "ErrorMetric$ForecastType": "

Forecast types can be quantiles from 0.01 to 0.99 (by increments of 0.01), and the mean.

", + "ErrorMetric$ForecastType": "

The Forecast type used to compute WAPE and RMSE.

", "ForecastTypes$member": null } }, @@ -678,6 +719,16 @@ "refs": { } }, + "ListPredictorBacktestExportJobsRequest": { + "base": null, + "refs": { + } + }, + "ListPredictorBacktestExportJobsResponse": { + "base": null, + "refs": { + } + }, "ListPredictorsRequest": { "base": null, "refs": { @@ -706,6 +757,7 @@ "ListDatasetsRequest$MaxResults": "

The number of items to return in the response.

", "ListForecastExportJobsRequest$MaxResults": "

The number of items to return in the response.

", "ListForecastsRequest$MaxResults": "

The number of items to return in the response.

", + "ListPredictorBacktestExportJobsRequest$MaxResults": "

The number of items to return in the response.

", "ListPredictorsRequest$MaxResults": "

The number of items to return in the response.

" } }, @@ -714,6 +766,7 @@ "refs": { "DescribeDatasetImportJobResponse$Message": "

If an error occurred, an informational message about the error.

", "DescribeForecastExportJobResponse$Message": "

If an error occurred, an informational message about the error.

", + "DescribePredictorBacktestExportJobResponse$Message": "

Information about any errors that may have occurred during the backtest export.

", "DescribePredictorResponse$Message": "

If an error occurred, an informational message about the error.

" } }, @@ -733,6 +786,7 @@ "CreateDatasetRequest$DatasetName": "

A name for the dataset.

", "CreateForecastExportJobRequest$ForecastExportJobName": "

The name for the forecast export job.

", "CreateForecastRequest$ForecastName": "

A name for the forecast.

", + "CreatePredictorBacktestExportJobRequest$PredictorBacktestExportJobName": "

The name for the backtest export job.

", "CreatePredictorRequest$PredictorName": "

A name for the predictor.

", "DatasetGroupSummary$DatasetGroupName": "

The name of the dataset group.

", "DatasetImportJobSummary$DatasetImportJobName": "

The name of the dataset import job.

", @@ -742,6 +796,7 @@ "DescribeDatasetResponse$DatasetName": "

The name of the dataset.

", "DescribeForecastExportJobResponse$ForecastExportJobName": "

The name of the forecast export job.

", "DescribeForecastResponse$ForecastName": "

The name of the forecast.

", + "DescribePredictorBacktestExportJobResponse$PredictorBacktestExportJobName": "

The name of the predictor backtest export job.

", "DescribePredictorResponse$PredictorArn": "

The ARN of the predictor.

", "DescribePredictorResponse$PredictorName": "

The name of the predictor.

", "Featurization$AttributeName": "

The name of the schema attribute that specifies the data field to be featurized. Amazon Forecast supports the target field of the TARGET_TIME_SERIES and the RELATED_TIME_SERIES datasets. For example, for the RETAIL domain, the target is demand, and for the CUSTOM domain, the target is target_value. For more information, see howitworks-missing-values.

", @@ -749,6 +804,7 @@ "ForecastExportJobSummary$ForecastExportJobName": "

The name of the forecast export job.

", "ForecastSummary$ForecastName": "

The name of the forecast.

", "IntegerParameterRange$Name": "

The name of the hyperparameter to tune.

", + "PredictorBacktestExportJobSummary$PredictorBacktestExportJobName": "

The name of the predictor backtest export job.

", "PredictorSummary$PredictorName": "

The name of the predictor.

", "SchemaAttribute$AttributeName": "

The name of the dataset field.

", "SupplementaryFeature$Name": "

The name of the feature. This must be \"holiday\".

" @@ -767,6 +823,8 @@ "ListForecastExportJobsResponse$NextToken": "

If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of results, use the token in the next request.

", "ListForecastsRequest$NextToken": "

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

", "ListForecastsResponse$NextToken": "

If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of results, use the token in the next request.

", + "ListPredictorBacktestExportJobsRequest$NextToken": "

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

", + "ListPredictorBacktestExportJobsResponse$NextToken": "

Returns this token if the response is truncated. To retrieve the next set of results, use the token in the next request.

", "ListPredictorsRequest$NextToken": "

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

", "ListPredictorsResponse$NextToken": "

If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of results, use the token in the next request.

" } @@ -791,6 +849,18 @@ "TrainingParameters$value": null } }, + "PredictorBacktestExportJobSummary": { + "base": "

Provides a summary of the predictor backtest export job properties used in the ListPredictorBacktestExportJobs operation. To get a complete set of properties, call the DescribePredictorBacktestExportJob operation, and provide the listed PredictorBacktestExportJobArn.

", + "refs": { + "PredictorBacktestExportJobs$member": null + } + }, + "PredictorBacktestExportJobs": { + "base": null, + "refs": { + "ListPredictorBacktestExportJobsResponse$PredictorBacktestExportJobs": "

An array of objects that summarize the properties of each predictor backtest export job.

" + } + }, "PredictorEvaluationResults": { "base": null, "refs": { @@ -843,7 +913,7 @@ } }, "S3Config": { - "base": "

The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket, and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the file(s). Optionally, includes an AWS Key Management Service (KMS) key. This object is part of the DataSource object that is submitted in the CreateDatasetImportJob request, and part of the DataDestination object that is submitted in the CreateForecastExportJob request.

", + "base": "

The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket, and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the file(s). Optionally, includes an AWS Key Management Service (KMS) key. This object is part of the DataSource object that is submitted in the CreateDatasetImportJob request, and part of the DataDestination object.

", "refs": { "DataDestination$S3Config": "

The path to an Amazon Simple Storage Service (Amazon S3) bucket along with the credentials to access the bucket.

", "DataSource$S3Config": "

The path to the training data stored in an Amazon Simple Storage Service (Amazon S3) bucket along with the credentials to access the data.

" @@ -895,9 +965,11 @@ "DescribeDatasetImportJobResponse$Status": "

The status of the dataset import job. The status is reflected in the status of the dataset. For example, when the import job status is CREATE_IN_PROGRESS, the status of the dataset is UPDATE_IN_PROGRESS. States include:

", "DescribeDatasetResponse$Status": "

The status of the dataset. States include:

The UPDATE states apply while data is imported to the dataset from a call to the CreateDatasetImportJob operation and reflect the status of the dataset import job. For example, when the import job status is CREATE_IN_PROGRESS, the status of the dataset is UPDATE_IN_PROGRESS.

The Status of the dataset must be ACTIVE before you can import training data.

", "DescribeForecastExportJobResponse$Status": "

The status of the forecast export job. States include:

The Status of the forecast export job must be ACTIVE before you can access the forecast in your S3 bucket.

", + "DescribePredictorBacktestExportJobResponse$Status": "

The status of the predictor backtest export job. States include:

", "DescribePredictorResponse$Status": "

The status of the predictor. States include:

The Status of the predictor must be ACTIVE before you can use the predictor to create a forecast.

", "ForecastExportJobSummary$Status": "

The status of the forecast export job. States include:

The Status of the forecast export job must be ACTIVE before you can access the forecast in your S3 bucket.

", "ForecastSummary$Status": "

The status of the forecast. States include:

The Status of the forecast must be ACTIVE before you can query or export the forecast.

", + "PredictorBacktestExportJobSummary$Status": "

The status of the predictor backtest export job. States include:

", "PredictorSummary$Status": "

The status of the predictor. States include:

The Status of the predictor must be ACTIVE before you can use the predictor to create a forecast.

", "TestWindowSummary$Status": "

The status of the test. Possible status values are:

" } @@ -969,6 +1041,7 @@ "CreateDatasetRequest$Tags": "

The optional metadata that you apply to the dataset to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

", "CreateForecastExportJobRequest$Tags": "

The optional metadata that you apply to the forecast export job to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

", "CreateForecastRequest$Tags": "

The optional metadata that you apply to the forecast to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

", + "CreatePredictorBacktestExportJobRequest$Tags": "

Optional metadata to help you categorize and organize your backtests. Each tag consists of a key and an optional value, both of which you define. Tag keys and values are case sensitive.

The following restrictions apply to tags:

", "CreatePredictorRequest$Tags": "

The optional metadata that you apply to the predictor to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

", "ListTagsForResourceResponse$Tags": "

The tags for the resource.

", "TagResourceRequest$Tags": "

The tags to add to the resource. A tag is an array of key-value pairs.

The following basic restrictions apply to tags:

" @@ -1011,12 +1084,16 @@ "DescribeForecastExportJobResponse$LastModificationTime": "

When the last successful export job finished.

", "DescribeForecastResponse$CreationTime": "

When the forecast creation task was created.

", "DescribeForecastResponse$LastModificationTime": "

Initially, the same as CreationTime (status is CREATE_PENDING). Updated when inference (creating the forecast) starts (status changed to CREATE_IN_PROGRESS), and when inference is complete (status changed to ACTIVE) or fails (status changed to CREATE_FAILED).

", + "DescribePredictorBacktestExportJobResponse$CreationTime": "

When the predictor backtest export job was created.

", + "DescribePredictorBacktestExportJobResponse$LastModificationTime": "

When the last successful export job finished.

", "DescribePredictorResponse$CreationTime": "

When the model training task was created.

", "DescribePredictorResponse$LastModificationTime": "

Initially, the same as CreationTime (when the status is CREATE_PENDING). This value is updated when training starts (when the status changes to CREATE_IN_PROGRESS), and when training has completed (when the status changes to ACTIVE) or fails (when the status changes to CREATE_FAILED).

", "ForecastExportJobSummary$CreationTime": "

When the forecast export job was created.

", "ForecastExportJobSummary$LastModificationTime": "

When the last successful export job finished.

", "ForecastSummary$CreationTime": "

When the forecast creation task was created.

", "ForecastSummary$LastModificationTime": "

Initially, the same as CreationTime (status is CREATE_PENDING). Updated when inference (creating the forecast) starts (status changed to CREATE_IN_PROGRESS), and when inference is complete (status changed to ACTIVE) or fails (status changed to CREATE_FAILED).

", + "PredictorBacktestExportJobSummary$CreationTime": "

When the predictor backtest export job was created.

", + "PredictorBacktestExportJobSummary$LastModificationTime": "

When the last successful export job finished.

", "PredictorSummary$CreationTime": "

When the model training task was created.

", "PredictorSummary$LastModificationTime": "

Initially, the same as CreationTime (status is CREATE_PENDING). Updated when training starts (status changed to CREATE_IN_PROGRESS), and when training is complete (status changed to ACTIVE) or fails (status changed to CREATE_FAILED).

", "TestWindowSummary$TestWindowStart": "

The time at which the test began.

", diff --git a/models/apis/forecast/2018-06-26/paginators-1.json b/models/apis/forecast/2018-06-26/paginators-1.json index 57661322c1..da6de7d8f4 100644 --- a/models/apis/forecast/2018-06-26/paginators-1.json +++ b/models/apis/forecast/2018-06-26/paginators-1.json @@ -30,6 +30,12 @@ "output_token": "NextToken", "result_key": "Forecasts" }, + "ListPredictorBacktestExportJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PredictorBacktestExportJobs" + }, "ListPredictors": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/apis/glue/2017-03-31/api-2.json b/models/apis/glue/2017-03-31/api-2.json index e8edca6bd2..64cbfbc094 100644 --- a/models/apis/glue/2017-03-31/api-2.json +++ b/models/apis/glue/2017-03-31/api-2.json @@ -368,6 +368,24 @@ {"shape":"GlueEncryptionException"} ] }, + "CreatePartitionIndex":{ + "name":"CreatePartitionIndex", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePartitionIndexRequest"}, + "output":{"shape":"CreatePartitionIndexResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ] + }, "CreateRegistry":{ "name":"CreateRegistry", "http":{ @@ -650,6 +668,23 @@ {"shape":"OperationTimeoutException"} ] }, + "DeletePartitionIndex":{ + "name":"DeletePartitionIndex", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePartitionIndexRequest"}, + "output":{"shape":"DeletePartitionIndexResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"GlueEncryptionException"} + ] + }, "DeleteRegistry":{ "name":"DeleteRegistry", "http":{ @@ -2421,6 +2456,31 @@ "exception":true }, "AttemptCount":{"type":"integer"}, + "BackfillError":{ + "type":"structure", + "members":{ + "Code":{"shape":"BackfillErrorCode"}, + "Partitions":{"shape":"BackfillErroredPartitionsList"} + } + }, + "BackfillErrorCode":{ + "type":"string", + "enum":[ + "ENCRYPTED_PARTITION_ERROR", + "INTERNAL_ERROR", + "INVALID_PARTITION_TYPE_DATA_ERROR", + "MISSING_PARTITION_VALUE_ERROR", + "UNSUPPORTED_PARTITION_CHARACTER_ERROR" + ] + }, + "BackfillErroredPartitionsList":{ + "type":"list", + "member":{"shape":"PartitionValueList"} + }, + "BackfillErrors":{ + "type":"list", + "member":{"shape":"BackfillError"} + }, "BatchCreatePartitionRequest":{ "type":"structure", "required":[ @@ -3245,6 +3305,7 @@ "Classifiers":{"shape":"ClassifierNameList"}, "RecrawlPolicy":{"shape":"RecrawlPolicy"}, "SchemaChangePolicy":{"shape":"SchemaChangePolicy"}, + "LineageConfiguration":{"shape":"LineageConfiguration"}, "State":{"shape":"CrawlerState"}, "TablePrefix":{"shape":"TablePrefix"}, "Schedule":{"shape":"Schedule"}, @@ -3258,6 +3319,13 @@ } }, "CrawlerConfiguration":{"type":"string"}, + "CrawlerLineageSettings":{ + "type":"string", + "enum":[ + "ENABLE", + "DISABLE" + ] + }, "CrawlerList":{ "type":"list", "member":{"shape":"Crawler"} @@ -3380,6 +3448,7 @@ "TablePrefix":{"shape":"TablePrefix"}, "SchemaChangePolicy":{"shape":"SchemaChangePolicy"}, "RecrawlPolicy":{"shape":"RecrawlPolicy"}, + "LineageConfiguration":{"shape":"LineageConfiguration"}, "Configuration":{"shape":"CrawlerConfiguration"}, "CrawlerSecurityConfiguration":{"shape":"CrawlerSecurityConfiguration"}, "Tags":{"shape":"TagsMap"} @@ -3558,6 +3627,25 @@ "TransformId":{"shape":"HashString"} } }, + "CreatePartitionIndexRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionIndex" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "PartitionIndex":{"shape":"PartitionIndex"} + } + }, + "CreatePartitionIndexResponse":{ + "type":"structure", + "members":{ + } + }, "CreatePartitionRequest":{ "type":"structure", "required":[ @@ -4047,6 +4135,25 @@ "TransformId":{"shape":"HashString"} } }, + "DeletePartitionIndexRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "IndexName" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "IndexName":{"shape":"NameString"} + } + }, + "DeletePartitionIndexResponse":{ + "type":"structure", + "members":{ + } + }, "DeletePartitionRequest":{ "type":"structure", "required":[ @@ -5738,6 +5845,12 @@ ] }, "LatestSchemaVersionBoolean":{"type":"boolean"}, + "LineageConfiguration":{ + "type":"structure", + "members":{ + "CrawlerLineageSettings":{"shape":"CrawlerLineageSettings"} + } + }, "ListCrawlersRequest":{ "type":"structure", "members":{ @@ -6235,7 +6348,8 @@ "members":{ "IndexName":{"shape":"NameString"}, "Keys":{"shape":"KeySchemaElementList"}, - "IndexStatus":{"shape":"PartitionIndexStatus"} + "IndexStatus":{"shape":"PartitionIndexStatus"}, + "BackfillErrors":{"shape":"BackfillErrors"} } }, "PartitionIndexDescriptorList":{ @@ -6249,7 +6363,12 @@ }, "PartitionIndexStatus":{ "type":"string", - "enum":["ACTIVE"] + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "FAILED" + ] }, "PartitionInput":{ "type":"structure", @@ -7658,6 +7777,7 @@ "TablePrefix":{"shape":"TablePrefix"}, "SchemaChangePolicy":{"shape":"SchemaChangePolicy"}, "RecrawlPolicy":{"shape":"RecrawlPolicy"}, + "LineageConfiguration":{"shape":"LineageConfiguration"}, "Configuration":{"shape":"CrawlerConfiguration"}, "CrawlerSecurityConfiguration":{"shape":"CrawlerSecurityConfiguration"} } diff --git a/models/apis/glue/2017-03-31/docs-2.json b/models/apis/glue/2017-03-31/docs-2.json index c0925f6c21..f1d985cb39 100644 --- a/models/apis/glue/2017-03-31/docs-2.json +++ b/models/apis/glue/2017-03-31/docs-2.json @@ -25,6 +25,7 @@ "CreateJob": "

Creates a new job definition.

", "CreateMLTransform": "

Creates an AWS Glue machine learning transform. This operation creates the transform and all the necessary parameters to train it.

Call this operation as the first step in the process of using a machine learning transform (such as the FindMatches transform) for deduplicating data. You can provide an optional Description, in addition to the parameters that you want to use for your algorithm.

You must also specify certain parameters for the tasks that AWS Glue runs on your behalf as part of learning from your data and creating a high-quality machine learning transform. These parameters include Role, and optionally, AllocatedCapacity, Timeout, and MaxRetries. For more information, see Jobs.

", "CreatePartition": "

Creates a new partition.

", + "CreatePartitionIndex": "

Creates a specified partition index in an existing table.

", "CreateRegistry": "

Creates a new registry which may be used to hold a collection of schemas.

", "CreateSchema": "

Creates a new schema set and registers the schema definition. Returns an error if the schema set already exists without actually registering the version.

When the schema set is created, a version checkpoint will be set to the first version. Compatibility mode \"DISABLED\" restricts any additional schema versions from being added after the first schema version. For all other compatibility modes, validation of compatibility settings will be applied only from the second version onwards when the RegisterSchemaVersion API is used.

When this API is called without a RegistryId, this will create an entry for a \"default-registry\" in the registry database tables, if it is not already present.

", "CreateScript": "

Transforms a directed acyclic graph (DAG) into code.

", @@ -43,6 +44,7 @@ "DeleteJob": "

Deletes a specified job definition. If the job definition is not found, no exception is thrown.

", "DeleteMLTransform": "

Deletes an AWS Glue machine learning transform. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by AWS Glue. If you no longer need a transform, you can delete it by calling DeleteMLTransforms. However, any AWS Glue jobs that still reference the deleted transform will no longer succeed.

", "DeletePartition": "

Deletes a specified partition.

", + "DeletePartitionIndex": "

Deletes a specified partition index from an existing table.

", "DeleteRegistry": "

Delete the entire registry including schema and all of its versions. To get the status of the delete operation, you can call the GetRegistry API after the asynchronous call. Deleting a registry will disable all online operations for the registry such as the UpdateRegistry, CreateSchema, UpdateSchema, and RegisterSchemaVersion APIs.

", "DeleteResourcePolicy": "

Deletes a specified policy.

", "DeleteSchema": "

Deletes the entire schema set, including the schema set and all of its versions. To get the status of the delete operation, you can call GetSchema API after the asynchronous call. Deleting a registry will disable all online operations for the schema, such as the GetSchemaByDefinition, and RegisterSchemaVersion APIs.

", @@ -195,6 +197,30 @@ "JobRun$Attempt": "

The number of the attempt to run this job.

" } }, + "BackfillError": { + "base": "

A list of errors that can occur when registering partition indexes for an existing table.

These errors give the details about why an index registration failed and provide a limited number of partitions in the response, so that you can fix the partitions at fault and try registering the index again. The most common set of errors that can occur are categorized as follows:

", + "refs": { + "BackfillErrors$member": null + } + }, + "BackfillErrorCode": { + "base": null, + "refs": { + "BackfillError$Code": "

The error code for an error that occurred when registering partition indexes for an existing table.

" + } + }, + "BackfillErroredPartitionsList": { + "base": null, + "refs": { + "BackfillError$Partitions": "

A list of a limited number of partitions in the response.

" + } + }, + "BackfillErrors": { + "base": null, + "refs": { + "PartitionIndexDescriptor$BackfillErrors": "

A list of errors that can occur when registering partition indexes for an existing table.

" + } + }, "BatchCreatePartitionRequest": { "base": null, "refs": { @@ -501,6 +527,7 @@ "BatchUpdatePartitionRequest$CatalogId": "

The ID of the catalog in which the partition is to be updated. Currently, this should be the AWS account ID.

", "CreateConnectionRequest$CatalogId": "

The ID of the Data Catalog in which to create the connection. If none is provided, the AWS account ID is used by default.

", "CreateDatabaseRequest$CatalogId": "

The ID of the Data Catalog in which to create the database. If none is provided, the AWS account ID is used by default.

", + "CreatePartitionIndexRequest$CatalogId": "

The catalog ID where the table resides.

", "CreatePartitionRequest$CatalogId": "

The AWS account ID of the catalog in which the partition is to be created.

", "CreateTableRequest$CatalogId": "

The ID of the Data Catalog in which to create the Table. If none is supplied, the AWS account ID is used by default.

", "CreateUserDefinedFunctionRequest$CatalogId": "

The ID of the Data Catalog in which to create the function. If none is provided, the AWS account ID is used by default.

", @@ -510,6 +537,7 @@ "DeleteColumnStatisticsForTableRequest$CatalogId": "

The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.

", "DeleteConnectionRequest$CatalogId": "

The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default.

", "DeleteDatabaseRequest$CatalogId": "

The ID of the Data Catalog in which the database resides. If none is provided, the AWS account ID is used by default.

", + "DeletePartitionIndexRequest$CatalogId": "

The catalog ID where the table resides.

", "DeletePartitionRequest$CatalogId": "

The ID of the Data Catalog where the partition to be deleted resides. If none is provided, the AWS account ID is used by default.

", "DeleteTableRequest$CatalogId": "

The ID of the Data Catalog where the table resides. If none is provided, the AWS account ID is used by default.

", "DeleteTableVersionRequest$CatalogId": "

The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default.

", @@ -931,6 +959,12 @@ "UpdateCrawlerRequest$Configuration": "

Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

" } }, + "CrawlerLineageSettings": { + "base": null, + "refs": { + "LineageConfiguration$CrawlerLineageSettings": "

Specifies whether data lineage is enabled for the crawler. Valid values are:

" + } + }, "CrawlerList": { "base": null, "refs": { @@ -1090,6 +1124,16 @@ "refs": { } }, + "CreatePartitionIndexRequest": { + "base": null, + "refs": { + } + }, + "CreatePartitionIndexResponse": { + "base": null, + "refs": { + } + }, "CreatePartitionRequest": { "base": null, "refs": { @@ -1454,6 +1498,16 @@ "refs": { } }, + "DeletePartitionIndexRequest": { + "base": null, + "refs": { + } + }, + "DeletePartitionIndexResponse": { + "base": null, + "refs": { + } + }, "DeletePartitionRequest": { "base": null, "refs": { @@ -2893,6 +2947,14 @@ "SchemaVersionNumber$LatestVersion": null } }, + "LineageConfiguration": { + "base": "

Specifies data lineage configuration settings for the crawler.

", + "refs": { + "Crawler$LineageConfiguration": "

A configuration that specifies whether data lineage is enabled for the crawler.

", + "CreateCrawlerRequest$LineageConfiguration": "

Specifies data lineage configuration settings for the crawler.

", + "UpdateCrawlerRequest$LineageConfiguration": "

Specifies data lineage configuration settings for the crawler.

" + } + }, "ListCrawlersRequest": { "base": null, "refs": { @@ -3262,6 +3324,8 @@ "CreateJobResponse$Name": "

The unique name that was provided for this job definition.

", "CreateJsonClassifierRequest$Name": "

The name of the classifier.

", "CreateMLTransformRequest$Name": "

The unique name that you give the transform when you create it.

", + "CreatePartitionIndexRequest$DatabaseName": "

Specifies the name of a database in which you want to create a partition index.

", + "CreatePartitionIndexRequest$TableName": "

Specifies the name of a table in which you want to create a partition index.

", "CreatePartitionRequest$DatabaseName": "

The name of the metadata database in which the partition is to be created.

", "CreatePartitionRequest$TableName": "

The name of the metadata table in which the partition is to be created.

", "CreateSecurityConfigurationRequest$Name": "

The name for the new security configuration.

", @@ -3292,6 +3356,9 @@ "DeleteDatabaseRequest$Name": "

The name of the database to delete. For Hive compatibility, this must be all lowercase.

", "DeleteJobRequest$JobName": "

The name of the job definition to delete.

", "DeleteJobResponse$JobName": "

The name of the job definition that was deleted.

", + "DeletePartitionIndexRequest$DatabaseName": "

Specifies the name of a database from which you want to delete a partition index.

", + "DeletePartitionIndexRequest$TableName": "

Specifies the name of a table from which you want to delete a partition index.

", + "DeletePartitionIndexRequest$IndexName": "

The name of the partition index to be deleted.

", "DeletePartitionRequest$DatabaseName": "

The name of the catalog database in which the table in question resides.

", "DeletePartitionRequest$TableName": "

The name of the table that contains the partition to be deleted.

", "DeleteSecurityConfigurationRequest$Name": "

The name of the security configuration to delete.

", @@ -3712,6 +3779,7 @@ "PartitionIndex": { "base": "

A structure for a partition index.

", "refs": { + "CreatePartitionIndexRequest$PartitionIndex": "

Specifies a PartitionIndex structure to create a partition index in an existing table.

", "PartitionIndexList$member": null } }, @@ -3736,7 +3804,7 @@ "PartitionIndexStatus": { "base": null, "refs": { - "PartitionIndexDescriptor$IndexStatus": "

The status of the partition index.

" + "PartitionIndexDescriptor$IndexStatus": "

The status of the partition index.

The possible statuses are:

" } }, "PartitionInput": { @@ -3764,6 +3832,7 @@ "PartitionValueList": { "base": "

Contains a list of values defining partitions.

", "refs": { + "BackfillErroredPartitionsList$member": null, "BatchDeletePartitionValueList$member": null, "BatchGetPartitionValueList$member": null } diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json index cc2cea8bb9..fdc0bc8717 100644 --- a/models/apis/iot/2015-05-28/api-2.json +++ b/models/apis/iot/2015-05-28/api-2.json @@ -6939,6 +6939,11 @@ } }, "FileName":{"type":"string"}, + "FileType":{ + "type":"integer", + "max":255, + "min":0 + }, "FindingId":{ "type":"string", "max":128, @@ -9391,6 +9396,7 @@ "type":"structure", "members":{ "fileName":{"shape":"FileName"}, + "fileType":{"shape":"FileType"}, "fileVersion":{"shape":"OTAUpdateFileVersion"}, "fileLocation":{"shape":"FileLocation"}, "codeSigning":{"shape":"CodeSigning"}, diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json index 15f739527f..6273781ba8 100644 --- a/models/apis/iot/2015-05-28/docs-2.json +++ b/models/apis/iot/2015-05-28/docs-2.json @@ -3055,6 +3055,12 @@ "OTAUpdateFile$fileName": "

The name of the file.

" } }, + "FileType": { + "base": null, + "refs": { + "OTAUpdateFile$fileType": "

An integer value you can include in the job document to allow your devices to identify the type of file received from the cloud.

" + } + }, "FindingId": { "base": null, "refs": { diff --git a/models/apis/kafka/2018-11-14/api-2.json b/models/apis/kafka/2018-11-14/api-2.json index 4836edc273..8021dc0a90 100644 --- a/models/apis/kafka/2018-11-14/api-2.json +++ b/models/apis/kafka/2018-11-14/api-2.json @@ -1245,9 +1245,11 @@ "enum": [ "ACTIVE", "CREATING", - "UPDATING", "DELETING", - "FAILED" + "FAILED", + "MAINTENANCE", + "REBOOTING_BROKER", + "UPDATING" ] }, "CompatibleKafkaVersion" : { diff --git a/models/apis/kafka/2018-11-14/docs-2.json b/models/apis/kafka/2018-11-14/docs-2.json index b6cb055b91..9bd5d19b04 100644 --- a/models/apis/kafka/2018-11-14/docs-2.json +++ b/models/apis/kafka/2018-11-14/docs-2.json @@ -131,9 +131,9 @@ "ClusterState" : { "base" : "

The state of a Kafka cluster.

", "refs" : { - "ClusterInfo$State" : "

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

", - "CreateClusterResponse$State" : "

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

", - "DeleteClusterResponse$State" : "

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

" + "ClusterInfo$State" : "

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

", + "CreateClusterResponse$State" : "

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

", + "DeleteClusterResponse$State" : "

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

" } }, "CompatibleKafkaVersion" : { diff --git a/models/apis/lambda/2015-03-31/api-2.json b/models/apis/lambda/2015-03-31/api-2.json index 4f8f81c657..735f0837cb 100644 --- a/models/apis/lambda/2015-03-31/api-2.json +++ b/models/apis/lambda/2015-03-31/api-2.json @@ -65,6 +65,20 @@ {"shape":"TooManyRequestsException"} ] }, + "CreateCodeSigningConfig":{ + "name":"CreateCodeSigningConfig", + "http":{ + "method":"POST", + "requestUri":"/2020-04-22/code-signing-configs/", + "responseCode":201 + }, + "input":{"shape":"CreateCodeSigningConfigRequest"}, + "output":{"shape":"CreateCodeSigningConfigResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"} + ] + }, "CreateEventSourceMapping":{ "name":"CreateEventSourceMapping", "http":{ @@ -97,7 +111,10 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceConflictException"}, {"shape":"TooManyRequestsException"}, - {"shape":"CodeStorageExceededException"} + {"shape":"CodeStorageExceededException"}, + {"shape":"CodeVerificationFailedException"}, + {"shape":"InvalidCodeSignatureException"}, + {"shape":"CodeSigningConfigNotFoundException"} ] }, "DeleteAlias":{ @@ -115,6 +132,22 @@ {"shape":"TooManyRequestsException"} ] }, + "DeleteCodeSigningConfig":{ + "name":"DeleteCodeSigningConfig", + "http":{ + "method":"DELETE", + "requestUri":"/2020-04-22/code-signing-configs/{CodeSigningConfigArn}", + "responseCode":204 + }, + "input":{"shape":"DeleteCodeSigningConfigRequest"}, + "output":{"shape":"DeleteCodeSigningConfigResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceConflictException"} + ] + }, "DeleteEventSourceMapping":{ "name":"DeleteEventSourceMapping", "http":{ @@ -148,6 +181,23 @@ {"shape":"ResourceConflictException"} ] }, + "DeleteFunctionCodeSigningConfig":{ + "name":"DeleteFunctionCodeSigningConfig", + "http":{ + "method":"DELETE", + "requestUri":"/2020-06-30/functions/{FunctionName}/code-signing-config", + "responseCode":204 + }, + "input":{"shape":"DeleteFunctionCodeSigningConfigRequest"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"CodeSigningConfigNotFoundException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceConflictException"} + ] + }, "DeleteFunctionConcurrency":{ "name":"DeleteFunctionConcurrency", "http":{ @@ -238,6 +288,21 @@ {"shape":"TooManyRequestsException"} ] }, + "GetCodeSigningConfig":{ + "name":"GetCodeSigningConfig", + "http":{ + "method":"GET", + "requestUri":"/2020-04-22/code-signing-configs/{CodeSigningConfigArn}", + "responseCode":200 + }, + "input":{"shape":"GetCodeSigningConfigRequest"}, + "output":{"shape":"GetCodeSigningConfigResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetEventSourceMapping":{ "name":"GetEventSourceMapping", "http":{ @@ -270,6 +335,22 @@ {"shape":"InvalidParameterValueException"} ] }, + "GetFunctionCodeSigningConfig":{ + "name":"GetFunctionCodeSigningConfig", + "http":{ + "method":"GET", + "requestUri":"/2020-06-30/functions/{FunctionName}/code-signing-config", + "responseCode":200 + }, + "input":{"shape":"GetFunctionCodeSigningConfigRequest"}, + "output":{"shape":"GetFunctionCodeSigningConfigResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ] + }, "GetFunctionConcurrency":{ "name":"GetFunctionConcurrency", "http":{ @@ -470,6 +551,20 @@ {"shape":"TooManyRequestsException"} ] }, + "ListCodeSigningConfigs":{ + "name":"ListCodeSigningConfigs", + "http":{ + "method":"GET", + "requestUri":"/2020-04-22/code-signing-configs/", + "responseCode":200 + }, + "input":{"shape":"ListCodeSigningConfigsRequest"}, + "output":{"shape":"ListCodeSigningConfigsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"} + ] + }, "ListEventSourceMappings":{ "name":"ListEventSourceMappings", "http":{ @@ -517,6 +612,21 @@ {"shape":"InvalidParameterValueException"} ] }, + "ListFunctionsByCodeSigningConfig":{ + "name":"ListFunctionsByCodeSigningConfig", + "http":{ + "method":"GET", + "requestUri":"/2020-04-22/code-signing-configs/{CodeSigningConfigArn}/functions", + "responseCode":200 + }, + "input":{"shape":"ListFunctionsByCodeSigningConfigRequest"}, + "output":{"shape":"ListFunctionsByCodeSigningConfigResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ListLayerVersions":{ "name":"ListLayerVersions", "http":{ @@ -631,6 +741,24 @@ {"shape":"ResourceConflictException"} ] }, + "PutFunctionCodeSigningConfig":{ + "name":"PutFunctionCodeSigningConfig", + "http":{ + "method":"PUT", + "requestUri":"/2020-06-30/functions/{FunctionName}/code-signing-config", + "responseCode":200 + }, + "input":{"shape":"PutFunctionCodeSigningConfigRequest"}, + "output":{"shape":"PutFunctionCodeSigningConfigResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceConflictException"}, + {"shape":"CodeSigningConfigNotFoundException"} + ] + }, "PutFunctionConcurrency":{ "name":"PutFunctionConcurrency", "http":{ @@ -763,6 +891,21 @@ {"shape":"ResourceConflictException"} ] }, + "UpdateCodeSigningConfig":{ + "name":"UpdateCodeSigningConfig", + "http":{ + "method":"PUT", + "requestUri":"/2020-04-22/code-signing-configs/{CodeSigningConfigArn}", + "responseCode":200 + }, + "input":{"shape":"UpdateCodeSigningConfigRequest"}, + "output":{"shape":"UpdateCodeSigningConfigResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "UpdateEventSourceMapping":{ "name":"UpdateEventSourceMapping", "http":{ @@ -797,7 +940,10 @@ {"shape":"TooManyRequestsException"}, {"shape":"CodeStorageExceededException"}, {"shape":"PreconditionFailedException"}, - {"shape":"ResourceConflictException"} + {"shape":"ResourceConflictException"}, + {"shape":"CodeVerificationFailedException"}, + {"shape":"InvalidCodeSignatureException"}, + {"shape":"CodeSigningConfigNotFoundException"} ] }, "UpdateFunctionConfiguration":{ @@ -815,7 +961,10 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, {"shape":"ResourceConflictException"}, - {"shape":"PreconditionFailedException"} + {"shape":"PreconditionFailedException"}, + {"shape":"CodeVerificationFailedException"}, + {"shape":"InvalidCodeSignatureException"}, + {"shape":"CodeSigningConfigNotFoundException"} ] }, "UpdateFunctionEventInvokeConfig":{ @@ -967,6 +1116,13 @@ "AdditionalVersionWeights":{"shape":"AdditionalVersionWeights"} } }, + "AllowedPublishers":{ + "type":"structure", + "required":["SigningProfileVersionArns"], + "members":{ + "SigningProfileVersionArns":{"shape":"SigningProfileVersionArns"} + } + }, "Arn":{ "type":"string", "pattern":"arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)" @@ -986,6 +1142,59 @@ "streaming":true }, "Boolean":{"type":"boolean"}, + "CodeSigningConfig":{ + "type":"structure", + "required":[ + "CodeSigningConfigId", + "CodeSigningConfigArn", + "AllowedPublishers", + "CodeSigningPolicies", + "LastModified" + ], + "members":{ + "CodeSigningConfigId":{"shape":"CodeSigningConfigId"}, + "CodeSigningConfigArn":{"shape":"CodeSigningConfigArn"}, + "Description":{"shape":"Description"}, + "AllowedPublishers":{"shape":"AllowedPublishers"}, + "CodeSigningPolicies":{"shape":"CodeSigningPolicies"}, + "LastModified":{"shape":"Timestamp"} + } + }, + "CodeSigningConfigArn":{ + "type":"string", + "max":200, + "pattern":"arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:code-signing-config:csc-[a-z0-9]{17}" + }, + "CodeSigningConfigId":{ + "type":"string", + "pattern":"csc-[a-zA-Z0-9-_\\.]{17}" + }, + "CodeSigningConfigList":{ + "type":"list", + "member":{"shape":"CodeSigningConfig"} + }, + "CodeSigningConfigNotFoundException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "CodeSigningPolicies":{ + "type":"structure", + "members":{ + "UntrustedArtifactOnDeployment":{"shape":"CodeSigningPolicy"} + } + }, + "CodeSigningPolicy":{ + "type":"string", + "enum":[ + "Warn", + "Enforce" + ] + }, "CodeStorageExceededException":{ "type":"structure", "members":{ @@ -995,10 +1204,19 @@ "error":{"httpStatusCode":400}, "exception":true }, + "CodeVerificationFailedException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "CompatibleRuntimes":{ "type":"list", "member":{"shape":"Runtime"}, - "max":5 + "max":15 }, "Concurrency":{ "type":"structure", @@ -1025,6 +1243,22 @@ "RoutingConfig":{"shape":"AliasRoutingConfiguration"} } }, + "CreateCodeSigningConfigRequest":{ + "type":"structure", + "required":["AllowedPublishers"], + "members":{ + "Description":{"shape":"Description"}, + "AllowedPublishers":{"shape":"AllowedPublishers"}, + "CodeSigningPolicies":{"shape":"CodeSigningPolicies"} + } + }, + "CreateCodeSigningConfigResponse":{ + "type":"structure", + "required":["CodeSigningConfig"], + "members":{ + "CodeSigningConfig":{"shape":"CodeSigningConfig"} + } + }, "CreateEventSourceMappingRequest":{ "type":"structure", "required":[ @@ -1075,7 +1309,8 @@ "TracingConfig":{"shape":"TracingConfig"}, "Tags":{"shape":"Tags"}, "Layers":{"shape":"LayerList"}, - "FileSystemConfigs":{"shape":"FileSystemConfigList"} + "FileSystemConfigs":{"shape":"FileSystemConfigList"}, + "CodeSigningConfigArn":{"shape":"CodeSigningConfigArn"} } }, "Date":{"type":"timestamp"}, @@ -1104,6 +1339,22 @@ } } }, + "DeleteCodeSigningConfigRequest":{ + "type":"structure", + "required":["CodeSigningConfigArn"], + "members":{ + "CodeSigningConfigArn":{ + "shape":"CodeSigningConfigArn", + "location":"uri", + "locationName":"CodeSigningConfigArn" + } + } + }, + "DeleteCodeSigningConfigResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteEventSourceMappingRequest":{ "type":"structure", "required":["UUID"], @@ -1115,6 +1366,17 @@ } } }, + "DeleteFunctionCodeSigningConfigRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "location":"uri", + "locationName":"FunctionName" + } + } + }, "DeleteFunctionConcurrencyRequest":{ "type":"structure", "required":["FunctionName"], @@ -1390,6 +1652,10 @@ "type":"string", "pattern":"arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" }, + "FunctionArnList":{ + "type":"list", + "member":{"shape":"FunctionArn"} + }, "FunctionCode":{ "type":"structure", "members":{ @@ -1435,7 +1701,9 @@ "LastUpdateStatus":{"shape":"LastUpdateStatus"}, "LastUpdateStatusReason":{"shape":"LastUpdateStatusReason"}, "LastUpdateStatusReasonCode":{"shape":"LastUpdateStatusReasonCode"}, - "FileSystemConfigs":{"shape":"FileSystemConfigList"} + "FileSystemConfigs":{"shape":"FileSystemConfigList"}, + "SigningProfileVersionArn":{"shape":"Arn"}, + "SigningJobArn":{"shape":"Arn"} } }, "FunctionEventInvokeConfig":{ @@ -1497,6 +1765,24 @@ } } }, + "GetCodeSigningConfigRequest":{ + "type":"structure", + "required":["CodeSigningConfigArn"], + "members":{ + "CodeSigningConfigArn":{ + "shape":"CodeSigningConfigArn", + "location":"uri", + "locationName":"CodeSigningConfigArn" + } + } + }, + "GetCodeSigningConfigResponse":{ + "type":"structure", + "required":["CodeSigningConfig"], + "members":{ + "CodeSigningConfig":{"shape":"CodeSigningConfig"} + } + }, "GetEventSourceMappingRequest":{ "type":"structure", "required":["UUID"], @@ -1508,6 +1794,28 @@ } } }, + "GetFunctionCodeSigningConfigRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "location":"uri", + "locationName":"FunctionName" + } + } + }, + "GetFunctionCodeSigningConfigResponse":{ + "type":"structure", + "required":[ + "CodeSigningConfigArn", + "FunctionName" + ], + "members":{ + "CodeSigningConfigArn":{"shape":"CodeSigningConfigArn"}, + "FunctionName":{"shape":"FunctionName"} + } + }, "GetFunctionConcurrencyRequest":{ "type":"structure", "required":["FunctionName"], @@ -1711,6 +2019,15 @@ }, "HttpStatus":{"type":"integer"}, "Integer":{"type":"integer"}, + "InvalidCodeSignatureException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "InvalidParameterValueException":{ "type":"structure", "members":{ @@ -1924,7 +2241,9 @@ "type":"structure", "members":{ "Arn":{"shape":"LayerVersionArn"}, - "CodeSize":{"shape":"Long"} + "CodeSize":{"shape":"Long"}, + "SigningProfileVersionArn":{"shape":"Arn"}, + "SigningJobArn":{"shape":"Arn"} } }, "LayerArn":{ @@ -1971,7 +2290,9 @@ "members":{ "Location":{"shape":"String"}, "CodeSha256":{"shape":"String"}, - "CodeSize":{"shape":"Long"} + "CodeSize":{"shape":"Long"}, + "SigningProfileVersionArn":{"shape":"String"}, + "SigningJobArn":{"shape":"String"} } }, "LayerVersionNumber":{"type":"long"}, @@ -2043,6 +2364,28 @@ "Aliases":{"shape":"AliasList"} } }, + "ListCodeSigningConfigsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"MaxListItems", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListCodeSigningConfigsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{"shape":"String"}, + "CodeSigningConfigs":{"shape":"CodeSigningConfigList"} + } + }, "ListEventSourceMappingsRequest":{ "type":"structure", "members":{ @@ -2103,6 +2446,34 @@ "NextMarker":{"shape":"String"} } }, + "ListFunctionsByCodeSigningConfigRequest":{ + "type":"structure", + "required":["CodeSigningConfigArn"], + "members":{ + "CodeSigningConfigArn":{ + "shape":"CodeSigningConfigArn", + "location":"uri", + "locationName":"CodeSigningConfigArn" + }, + "Marker":{ + "shape":"String", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"MaxListItems", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFunctionsByCodeSigningConfigResponse":{ + "type":"structure", + "members":{ + "NextMarker":{"shape":"String"}, + "FunctionArns":{"shape":"FunctionArnList"} + } + }, "ListFunctionsRequest":{ "type":"structure", "members":{ @@ -2480,6 +2851,32 @@ "RevisionId":{"shape":"String"} } }, + "PutFunctionCodeSigningConfigRequest":{ + "type":"structure", + "required":[ + "CodeSigningConfigArn", + "FunctionName" + ], + "members":{ + "CodeSigningConfigArn":{"shape":"CodeSigningConfigArn"}, + "FunctionName":{ + "shape":"FunctionName", + "location":"uri", + "locationName":"FunctionName" + } + } + }, + "PutFunctionCodeSigningConfigResponse":{ + "type":"structure", + "required":[ + "CodeSigningConfigArn", + "FunctionName" + ], + "members":{ + "CodeSigningConfigArn":{"shape":"CodeSigningConfigArn"}, + "FunctionName":{"shape":"FunctionName"} + } + }, "PutFunctionConcurrencyRequest":{ "type":"structure", "required":[ @@ -2743,6 +3140,12 @@ "error":{"httpStatusCode":500}, "exception":true }, + "SigningProfileVersionArns":{ + "type":"list", + "member":{"shape":"Arn"}, + "max":20, + "min":1 + }, "SourceAccessConfiguration":{ "type":"structure", "members":{ @@ -2953,6 +3356,27 @@ "RevisionId":{"shape":"String"} } }, + "UpdateCodeSigningConfigRequest":{ + "type":"structure", + "required":["CodeSigningConfigArn"], + "members":{ + "CodeSigningConfigArn":{ + "shape":"CodeSigningConfigArn", + "location":"uri", + "locationName":"CodeSigningConfigArn" + }, + "Description":{"shape":"Description"}, + "AllowedPublishers":{"shape":"AllowedPublishers"}, + "CodeSigningPolicies":{"shape":"CodeSigningPolicies"} + } + }, + "UpdateCodeSigningConfigResponse":{ + "type":"structure", + "required":["CodeSigningConfig"], + "members":{ + "CodeSigningConfig":{"shape":"CodeSigningConfig"} + } + }, "UpdateEventSourceMappingRequest":{ "type":"structure", "required":["UUID"], diff --git a/models/apis/lambda/2015-03-31/docs-2.json b/models/apis/lambda/2015-03-31/docs-2.json index e0b2b910ed..1297c3f2b0 100644 --- a/models/apis/lambda/2015-03-31/docs-2.json +++ b/models/apis/lambda/2015-03-31/docs-2.json @@ -5,19 +5,24 @@ "AddLayerVersionPermission": "

Adds permissions to the resource-based policy of a version of an AWS Lambda layer. Use this action to grant layer usage permission to other accounts. You can grant permission to a single account, all AWS accounts, or all accounts in an organization.

To revoke permission, call RemoveLayerVersionPermission with the statement ID that you specified when you added it.

", "AddPermission": "

Grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.

To grant permission to another account, specify the account ID as the Principal. For AWS services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you can also specify the ARN of the associated resource as the SourceArn. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.

This action adds a statement to a resource-based permissions policy for the function. For more information about function policies, see Lambda Function Policies.

", "CreateAlias": "

Creates an alias for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version.

You can also map an alias to split invocation requests between two versions. Use the RoutingConfig parameter to specify a second version and the percentage of invocation requests that it receives.

", + "CreateCodeSigningConfig": "

Creates a code signing configuration. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail).

", "CreateEventSourceMapping": "

Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function.

For details about each event source type, see the following topics.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

", - "CreateFunction": "

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.

When you create a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify the function. The State, StateReason, and StateReasonCode fields in the response from GetFunctionConfiguration indicate when the function is ready to invoke. For more information, see Function States.

A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration.

The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency).

If another account or an AWS service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias.

To invoke your function directly, use Invoke. To invoke your function in response to events in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions.

", + "CreateFunction": "

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.

When you create a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify the function. The State, StateReason, and StateReasonCode fields in the response from GetFunctionConfiguration indicate when the function is ready to invoke. For more information, see Function States.

A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration.

The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency).

To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with UpdateFunctionCode, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes set set of signing profiles, which define the trusted publishers for this function.

If another account or an AWS service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias.

To invoke your function directly, use Invoke. To invoke your function in response to events in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions.

", "DeleteAlias": "

Deletes a Lambda function alias.

", + "DeleteCodeSigningConfig": "

Deletes the code signing configuration. You can delete the code signing configuration only if no function is using it.

", "DeleteEventSourceMapping": "

Deletes an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

When you delete an event source mapping, it enters a Deleting state and might not be completely deleted for several seconds.

", "DeleteFunction": "

Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted.

To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For AWS services and resources that invoke your function directly, delete the trigger in the service where you originally configured it.

", + "DeleteFunctionCodeSigningConfig": "

Removes the code signing configuration from the function.

", "DeleteFunctionConcurrency": "

Removes a concurrent execution limit from a function.

", "DeleteFunctionEventInvokeConfig": "

Deletes the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "DeleteLayerVersion": "

Deletes a version of an AWS Lambda layer. Deleted versions can no longer be viewed or added to functions. To avoid breaking functions, a copy of the version remains in Lambda until no functions refer to it.

", "DeleteProvisionedConcurrencyConfig": "

Deletes the provisioned concurrency configuration for a function.

", "GetAccountSettings": "

Retrieves details about your account's limits and usage in an AWS Region.

", "GetAlias": "

Returns details about a Lambda function alias.

", + "GetCodeSigningConfig": "

Returns information about the specified code signing configuration.

", "GetEventSourceMapping": "

Returns details about an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

", "GetFunction": "

Returns information about the function or function version, with a link to download the deployment package that's valid for 10 minutes. If you specify a function version, only details that are specific to that version are returned.

", + "GetFunctionCodeSigningConfig": "

Returns the code signing configuration for the specified function.

", "GetFunctionConcurrency": "

Returns details about the reserved concurrency configuration for a function. To set a concurrency limit for a function, use PutFunctionConcurrency.

", "GetFunctionConfiguration": "

Returns the version-specific settings of a Lambda function or version. The output includes only options that can vary between versions of a function. To modify these settings, use UpdateFunctionConfiguration.

To get all of a function's details, including function-level settings, use GetFunction.

", "GetFunctionEventInvokeConfig": "

Retrieves the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", @@ -29,9 +34,11 @@ "Invoke": "

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Retry Behavior.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, limit errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if executing the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action.

", "InvokeAsync": "

For asynchronous function invocation, use Invoke.

Invokes a function asynchronously.

", "ListAliases": "

Returns a list of aliases for a Lambda function.

", + "ListCodeSigningConfigs": "

Returns a list of code signing configurations for the specified function. A request returns up to 10,000 configurations per call. You can use the MaxItems parameter to return fewer configurations per call.

", "ListEventSourceMappings": "

Lists event source mappings. Specify an EventSourceArn to only show event source mappings for a single event source.

", "ListFunctionEventInvokeConfigs": "

Retrieves a list of configurations for asynchronous invocation for a function.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

", "ListFunctions": "

Returns a list of Lambda functions, with the version-specific configuration of each. Lambda returns up to 50 functions per call.

Set FunctionVersion to ALL to include all published versions of each function in addition to the unpublished version. To get more information about a function or version, use GetFunction.

", + "ListFunctionsByCodeSigningConfig": "

List the functions that use the specified code signing configuration. You can use this method prior to deleting a code signing configuration, to verify that no functions are using it.

", "ListLayerVersions": "

Lists the versions of an AWS Lambda layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only versions that indicate that they're compatible with that runtime.

", "ListLayers": "

Lists AWS Lambda layers and shows information about the latest version of each. Specify a runtime identifier to list only layers that indicate that they're compatible with that runtime.

", "ListProvisionedConcurrencyConfigs": "

Retrieves a list of provisioned concurrency configurations for a function.

", @@ -39,6 +46,7 @@ "ListVersionsByFunction": "

Returns a list of versions, with the version-specific configuration of each. Lambda returns up to 50 versions per call.

", "PublishLayerVersion": "

Creates an AWS Lambda layer from a ZIP archive. Each time you call PublishLayerVersion with the same layer name, a new version is created.

Add layers to your function with CreateFunction or UpdateFunctionConfiguration.

", "PublishVersion": "

Creates a version from the current code and configuration of a function. Use versions to create a snapshot of your function code and configuration that doesn't change.

AWS Lambda doesn't publish a version if the function's configuration and code haven't changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the function before publishing a version.

Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias.

", + "PutFunctionCodeSigningConfig": "

Update the code signing configuration for the function. Changes to the code signing configuration take effect the next time a user tries to deploy a code package to the function.

", "PutFunctionConcurrency": "

Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency level.

Concurrency settings apply to the function as a whole, including all published versions and the unpublished version. Reserving concurrency both ensures that your function has capacity to process the specified number of events simultaneously, and prevents it from scaling beyond that level. Use GetFunction to see the current setting for a function.

Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for functions that aren't configured with a per-function limit. For more information, see Managing Concurrency.

", "PutFunctionEventInvokeConfig": "

Configures options for asynchronous invocation on a function, version, or alias. If a configuration already exists for a function, version, or alias, this operation overwrites it. If you exclude any settings, they are removed. To set one option without affecting existing settings for other options, use UpdateFunctionEventInvokeConfig.

By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains events in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous invocation queue for too long, Lambda discards it. To retain discarded events, configure a dead-letter queue with UpdateFunctionConfiguration.

To send an invocation record to a queue, topic, function, or event bus, specify a destination. You can configure separate destinations for successful invocations (on-success) and events that fail all processing attempts (on-failure). You can configure destinations in addition to or instead of a dead-letter queue.

", "PutProvisionedConcurrencyConfig": "

Adds a provisioned concurrency configuration to a function's alias or version.

", @@ -47,8 +55,9 @@ "TagResource": "

Adds tags to a function.

", "UntagResource": "

Removes tags from a function.

", "UpdateAlias": "

Updates the configuration of a Lambda function alias.

", + "UpdateCodeSigningConfig": "

Update the code signing configuration. Changes to the code signing configuration take effect the next time a user tries to deploy a code package to the function.

", "UpdateEventSourceMapping": "

Updates an event source mapping. You can change the function that AWS Lambda invokes, or pause invocation and resume later from the same location.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

", - "UpdateFunctionCode": "

Updates a Lambda function's code.

The function's code is locked when you publish a version. You can't modify the code of a published version, only the unpublished version.

", + "UpdateFunctionCode": "

Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed by a trusted publisher. For more information, see Configuring code signing.

The function's code is locked when you publish a version. You can't modify the code of a published version, only the unpublished version.

", "UpdateFunctionConfiguration": "

Modify the version-specific settings of a Lambda function.

When you update a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute. During this time, you can't modify the function, but you can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode fields in the response from GetFunctionConfiguration indicate when the update is complete and the function is processing events with the new configuration. For more information, see Function States.

These settings can vary between versions of a function and are locked when you publish a version. You can't modify the configuration of a published version, only the unpublished version.

To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an account or AWS service, use AddPermission.

", "UpdateFunctionEventInvokeConfig": "

Updates the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

" }, @@ -133,13 +142,26 @@ "UpdateAliasRequest$RoutingConfig": "

The routing configuration of the alias.

" } }, + "AllowedPublishers": { + "base": "

List of signing profiles that can sign a code package.

", + "refs": { + "CodeSigningConfig$AllowedPublishers": "

List of allowed publishers.

", + "CreateCodeSigningConfigRequest$AllowedPublishers": "

Signing profiles for this code signing configuration.

", + "UpdateCodeSigningConfigRequest$AllowedPublishers": "

Signing profiles for this code signing configuration.

" + } + }, "Arn": { "base": null, "refs": { "AddPermissionRequest$SourceArn": "

For AWS services, the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.

", "CreateEventSourceMappingRequest$EventSourceArn": "

The Amazon Resource Name (ARN) of the event source.

", "EventSourceMappingConfiguration$EventSourceArn": "

The Amazon Resource Name (ARN) of the event source.

", + "FunctionConfiguration$SigningProfileVersionArn": "

The ARN of the signing profile version.

", + "FunctionConfiguration$SigningJobArn": "

The ARN of the signing job.

", + "Layer$SigningProfileVersionArn": "

The Amazon Resource Name (ARN) for a signing profile version.

", + "Layer$SigningJobArn": "

The Amazon Resource Name (ARN) of a signing job.

", "ListEventSourceMappingsRequest$EventSourceArn": "

The Amazon Resource Name (ARN) of the event source.

", + "SigningProfileVersionArns$member": null, "SourceAccessConfiguration$URI": "

To reference the secret, use the following format: [ { \"Type\": \"BASIC_AUTH\", \"URI\": \"secretARN\" } ]

The value of Type is always BASIC_AUTH. To encrypt the secret, you can use customer or service managed keys. When using a customer managed KMS key, the Lambda execution role requires kms:Decrypt permissions.

" } }, @@ -183,11 +205,70 @@ "UpdateFunctionCodeRequest$DryRun": "

Set to true to validate the request parameters and access permissions without modifying the function code.

" } }, + "CodeSigningConfig": { + "base": "

Details about a Code signing configuration.

", + "refs": { + "CodeSigningConfigList$member": null, + "CreateCodeSigningConfigResponse$CodeSigningConfig": "

The code signing configuration.

", + "GetCodeSigningConfigResponse$CodeSigningConfig": "

The code signing configuration

", + "UpdateCodeSigningConfigResponse$CodeSigningConfig": "

The code signing configuration

" + } + }, + "CodeSigningConfigArn": { + "base": null, + "refs": { + "CodeSigningConfig$CodeSigningConfigArn": "

The Amazon Resource Name (ARN) of the Code signing configuration.

", + "CreateFunctionRequest$CodeSigningConfigArn": "

To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes set set of signing profiles, which define the trusted publishers for this function.

", + "DeleteCodeSigningConfigRequest$CodeSigningConfigArn": "

The The Amazon Resource Name (ARN) of the code signing configuration.

", + "GetCodeSigningConfigRequest$CodeSigningConfigArn": "

The The Amazon Resource Name (ARN) of the code signing configuration.

", + "GetFunctionCodeSigningConfigResponse$CodeSigningConfigArn": "

The The Amazon Resource Name (ARN) of the code signing configuration.

", + "ListFunctionsByCodeSigningConfigRequest$CodeSigningConfigArn": "

The The Amazon Resource Name (ARN) of the code signing configuration.

", + "PutFunctionCodeSigningConfigRequest$CodeSigningConfigArn": "

The The Amazon Resource Name (ARN) of the code signing configuration.

", + "PutFunctionCodeSigningConfigResponse$CodeSigningConfigArn": "

The The Amazon Resource Name (ARN) of the code signing configuration.

", + "UpdateCodeSigningConfigRequest$CodeSigningConfigArn": "

The The Amazon Resource Name (ARN) of the code signing configuration.

" + } + }, + "CodeSigningConfigId": { + "base": null, + "refs": { + "CodeSigningConfig$CodeSigningConfigId": "

Unique identifer for the Code signing configuration.

" + } + }, + "CodeSigningConfigList": { + "base": null, + "refs": { + "ListCodeSigningConfigsResponse$CodeSigningConfigs": "

The code signing configurations

" + } + }, + "CodeSigningConfigNotFoundException": { + "base": "

The specified code signing configuration does not exist.

", + "refs": { + } + }, + "CodeSigningPolicies": { + "base": "

Code signing configuration policies specifies the validation failure action for signature mismatch or expiry.

", + "refs": { + "CodeSigningConfig$CodeSigningPolicies": "

The code signing policy controls the validation failure action for signature mismatch or expiry.

", + "CreateCodeSigningConfigRequest$CodeSigningPolicies": "

The code signing policies define the actions to take if the validation checks fail.

", + "UpdateCodeSigningConfigRequest$CodeSigningPolicies": "

The code signing policy.

" + } + }, + "CodeSigningPolicy": { + "base": null, + "refs": { + "CodeSigningPolicies$UntrustedArtifactOnDeployment": "

Code signing configuration policy for deployment validation failure. If you set the policy to Enforce, Lambda blocks the deployment request if code-signing validation checks fail. If you set the policy to Warn, Lambda allows the deployment and creates a CloudWatch log.

Default value: Warn

" + } + }, "CodeStorageExceededException": { "base": "

You have exceeded your maximum total code size per account. Learn more

", "refs": { } }, + "CodeVerificationFailedException": { + "base": "

The code signature failed one or more of the validation checks for signature mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda blocks the deployment.

", + "refs": { + } + }, "CompatibleRuntimes": { "base": null, "refs": { @@ -208,6 +289,16 @@ "refs": { } }, + "CreateCodeSigningConfigRequest": { + "base": null, + "refs": { + } + }, + "CreateCodeSigningConfigResponse": { + "base": null, + "refs": { + } + }, "CreateEventSourceMappingRequest": { "base": null, "refs": { @@ -240,11 +331,26 @@ "refs": { } }, + "DeleteCodeSigningConfigRequest": { + "base": null, + "refs": { + } + }, + "DeleteCodeSigningConfigResponse": { + "base": null, + "refs": { + } + }, "DeleteEventSourceMappingRequest": { "base": null, "refs": { } }, + "DeleteFunctionCodeSigningConfigRequest": { + "base": null, + "refs": { + } + }, "DeleteFunctionConcurrencyRequest": { "base": null, "refs": { @@ -274,7 +380,9 @@ "base": null, "refs": { "AliasConfiguration$Description": "

A description of the alias.

", + "CodeSigningConfig$Description": "

Code signing configuration description.

", "CreateAliasRequest$Description": "

A description of the alias.

", + "CreateCodeSigningConfigRequest$Description": "

Descriptive name for this code signing configuration.

", "CreateFunctionRequest$Description": "

A description of the function.

", "FunctionConfiguration$Description": "

The function's description.

", "GetLayerVersionResponse$Description": "

The description of the version.

", @@ -283,6 +391,7 @@ "PublishLayerVersionResponse$Description": "

The description of the version.

", "PublishVersionRequest$Description": "

A description for the version to override the description in the function configuration.

", "UpdateAliasRequest$Description": "

A description of the alias.

", + "UpdateCodeSigningConfigRequest$Description": "

Descriptive name for this code signing configuration.

", "UpdateFunctionConfigurationRequest$Description": "

A description of the function.

" } }, @@ -439,6 +548,7 @@ "refs": { "AliasConfiguration$AliasArn": "

The Amazon Resource Name (ARN) of the alias.

", "EventSourceMappingConfiguration$FunctionArn": "

The ARN of the Lambda function.

", + "FunctionArnList$member": null, "FunctionConfiguration$MasterArn": "

For Lambda@Edge functions, the ARN of the master function.

", "FunctionEventInvokeConfig$FunctionArn": "

The Amazon Resource Name (ARN) of the function.

", "ListTagsRequest$Resource": "

The function's Amazon Resource Name (ARN).

", @@ -447,6 +557,12 @@ "UntagResourceRequest$Resource": "

The function's Amazon Resource Name (ARN).

" } }, + "FunctionArnList": { + "base": null, + "refs": { + "ListFunctionsByCodeSigningConfigResponse$FunctionArns": "

The function ARNs.

" + } + }, "FunctionCode": { "base": "

The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment package directly.

", "refs": { @@ -493,11 +609,14 @@ "CreateEventSourceMappingRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

", "CreateFunctionRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "DeleteAliasRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "DeleteFunctionCodeSigningConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "DeleteFunctionConcurrencyRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "DeleteFunctionEventInvokeConfigRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "DeleteFunctionRequest$FunctionName": "

The name of the Lambda function or version.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "DeleteProvisionedConcurrencyConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "GetAliasRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "GetFunctionCodeSigningConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "GetFunctionCodeSigningConfigResponse$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "GetFunctionConcurrencyRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "GetFunctionEventInvokeConfigRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "GetProvisionedConcurrencyConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", @@ -506,6 +625,8 @@ "ListFunctionEventInvokeConfigsRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "ListProvisionedConcurrencyConfigsRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "PublishVersionRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "PutFunctionCodeSigningConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "PutFunctionCodeSigningConfigResponse$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "PutFunctionConcurrencyRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "PutFunctionEventInvokeConfigRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "PutProvisionedConcurrencyConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", @@ -538,11 +659,31 @@ "refs": { } }, + "GetCodeSigningConfigRequest": { + "base": null, + "refs": { + } + }, + "GetCodeSigningConfigResponse": { + "base": null, + "refs": { + } + }, "GetEventSourceMappingRequest": { "base": null, "refs": { } }, + "GetFunctionCodeSigningConfigRequest": { + "base": null, + "refs": { + } + }, + "GetFunctionCodeSigningConfigResponse": { + "base": null, + "refs": { + } + }, "GetFunctionConcurrencyRequest": { "base": null, "refs": { @@ -639,6 +780,11 @@ "InvocationResponse$StatusCode": "

The HTTP status code is in the 200 range for a successful request. For the RequestResponse invocation type, this status code is 200. For the Event invocation type, this status code is 202. For the DryRun invocation type, the status code is 204.

" } }, + "InvalidCodeSignatureException": { + "base": "

The code signature failed the integrity check. Lambda always blocks deployment if the integrity check fails, even if code signing policy is set to WARN.

", + "refs": { + } + }, "InvalidParameterValueException": { "base": "

One of the parameters in the request is invalid.

", "refs": { @@ -874,6 +1020,16 @@ "refs": { } }, + "ListCodeSigningConfigsRequest": { + "base": null, + "refs": { + } + }, + "ListCodeSigningConfigsResponse": { + "base": null, + "refs": { + } + }, "ListEventSourceMappingsRequest": { "base": null, "refs": { @@ -894,6 +1050,16 @@ "refs": { } }, + "ListFunctionsByCodeSigningConfigRequest": { + "base": null, + "refs": { + } + }, + "ListFunctionsByCodeSigningConfigResponse": { + "base": null, + "refs": { + } + }, "ListFunctionsRequest": { "base": null, "refs": { @@ -1002,7 +1168,9 @@ "base": null, "refs": { "ListAliasesRequest$MaxItems": "

Limit the number of aliases returned.

", + "ListCodeSigningConfigsRequest$MaxItems": "

Maximum number of items to return.

", "ListEventSourceMappingsRequest$MaxItems": "

The maximum number of event source mappings to return.

", + "ListFunctionsByCodeSigningConfigRequest$MaxItems": "

Maximum number of items to return.

", "ListFunctionsRequest$MaxItems": "

The maximum number of functions to return.

", "ListVersionsByFunctionRequest$MaxItems": "

The maximum number of versions to return.

" } @@ -1187,6 +1355,16 @@ "refs": { } }, + "PutFunctionCodeSigningConfigRequest": { + "base": null, + "refs": { + } + }, + "PutFunctionCodeSigningConfigResponse": { + "base": null, + "refs": { + } + }, "PutFunctionConcurrencyRequest": { "base": null, "refs": { @@ -1355,6 +1533,12 @@ "refs": { } }, + "SigningProfileVersionArns": { + "base": null, + "refs": { + "AllowedPublishers$SigningProfileVersionArns": "

The Amazon Resource Name (ARN) for each of the signing profiles. A signing profile defines a trusted user who can sign a code package.

" + } + }, "SourceAccessConfiguration": { "base": "

(MQ) The Secrets Manager secret that stores your broker credentials. To store your secret, use the following format: { \"username\": \"your username\", \"password\": \"your password\" }

", "refs": { @@ -1416,8 +1600,12 @@ "AddPermissionRequest$RevisionId": "

Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.

", "AddPermissionResponse$Statement": "

The permission statement that's added to the function policy.

", "AliasConfiguration$RevisionId": "

A unique identifier that changes when you update the alias.

", + "CodeSigningConfigNotFoundException$Type": null, + "CodeSigningConfigNotFoundException$Message": null, "CodeStorageExceededException$Type": "

The exception type.

", "CodeStorageExceededException$message": null, + "CodeVerificationFailedException$Type": null, + "CodeVerificationFailedException$Message": null, "DeleteEventSourceMappingRequest$UUID": "

The identifier of the event source mapping.

", "EC2AccessDeniedException$Type": null, "EC2AccessDeniedException$Message": null, @@ -1451,6 +1639,8 @@ "GetPolicyResponse$Policy": "

The resource-based policy.

", "GetPolicyResponse$RevisionId": "

A unique identifier for the current revision of the policy.

", "GetProvisionedConcurrencyConfigResponse$StatusReason": "

For failed allocations, the reason that provisioned concurrency could not be allocated.

", + "InvalidCodeSignatureException$Type": null, + "InvalidCodeSignatureException$Message": null, "InvalidParameterValueException$Type": "

The exception type.

", "InvalidParameterValueException$message": "

The exception message.

", "InvalidRequestContentException$Type": "

The exception type.

", @@ -1476,12 +1666,18 @@ "KMSNotFoundException$Message": null, "LayerVersionContentOutput$Location": "

A link to the layer archive in Amazon S3 that is valid for 10 minutes.

", "LayerVersionContentOutput$CodeSha256": "

The SHA-256 hash of the layer archive.

", + "LayerVersionContentOutput$SigningProfileVersionArn": "

The Amazon Resource Name (ARN) for a signing profile version.

", + "LayerVersionContentOutput$SigningJobArn": "

The Amazon Resource Name (ARN) of a signing job.

", "ListAliasesRequest$Marker": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", "ListAliasesResponse$NextMarker": "

The pagination token that's included if more results are available.

", + "ListCodeSigningConfigsRequest$Marker": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", + "ListCodeSigningConfigsResponse$NextMarker": "

The pagination token that's included if more results are available.

", "ListEventSourceMappingsRequest$Marker": "

A pagination token returned by a previous call.

", "ListEventSourceMappingsResponse$NextMarker": "

A pagination token that's returned when the response doesn't contain all event source mappings.

", "ListFunctionEventInvokeConfigsRequest$Marker": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", "ListFunctionEventInvokeConfigsResponse$NextMarker": "

The pagination token that's included if more results are available.

", + "ListFunctionsByCodeSigningConfigRequest$Marker": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", + "ListFunctionsByCodeSigningConfigResponse$NextMarker": "

The pagination token that's included if more results are available.

", "ListFunctionsRequest$Marker": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", "ListFunctionsResponse$NextMarker": "

The pagination token that's included if more results are available.

", "ListLayerVersionsRequest$Marker": "

A pagination token returned by a previous call.

", @@ -1597,6 +1793,7 @@ "Timestamp": { "base": null, "refs": { + "CodeSigningConfig$LastModified": "

The date and time that the Code signing configuration was last modified, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

", "FunctionConfiguration$LastModified": "

The date and time that the function was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

", "GetLayerVersionResponse$CreatedDate": "

The date that the layer version was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

", "GetProvisionedConcurrencyConfigResponse$LastModified": "

The date and time that a user last updated the configuration, in ISO 8601 format.

", @@ -1665,6 +1862,16 @@ "refs": { } }, + "UpdateCodeSigningConfigRequest": { + "base": null, + "refs": { + } + }, + "UpdateCodeSigningConfigResponse": { + "base": null, + "refs": { + } + }, "UpdateEventSourceMappingRequest": { "base": null, "refs": { diff --git a/models/apis/lambda/2015-03-31/paginators-1.json b/models/apis/lambda/2015-03-31/paginators-1.json index dd31bcb2ce..cd03e6bb38 100644 --- a/models/apis/lambda/2015-03-31/paginators-1.json +++ b/models/apis/lambda/2015-03-31/paginators-1.json @@ -6,6 +6,12 @@ "output_token": "NextMarker", "result_key": "Aliases" }, + "ListCodeSigningConfigs": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "CodeSigningConfigs" + }, "ListEventSourceMappings": { "input_token": "Marker", "limit_key": "MaxItems", @@ -24,6 +30,12 @@ "output_token": "NextMarker", "result_key": "Functions" }, + "ListFunctionsByCodeSigningConfig": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "FunctionArns" + }, "ListLayerVersions": { "input_token": "Marker", "limit_key": "MaxItems", diff --git a/models/apis/license-manager/2018-08-01/api-2.json b/models/apis/license-manager/2018-08-01/api-2.json index 2c6e3e02f2..003834347f 100644 --- a/models/apis/license-manager/2018-08-01/api-2.json +++ b/models/apis/license-manager/2018-08-01/api-2.json @@ -488,7 +488,8 @@ "ResourceArn":{"shape":"String"}, "ResourceType":{"shape":"ResourceType"}, "ResourceOwnerId":{"shape":"String"}, - "AssociationTime":{"shape":"DateTime"} + "AssociationTime":{"shape":"DateTime"}, + "AmiAssociationScope":{"shape":"String"} } }, "LicenseConfigurationAssociations":{ @@ -551,7 +552,8 @@ "type":"structure", "required":["LicenseConfigurationArn"], "members":{ - "LicenseConfigurationArn":{"shape":"String"} + "LicenseConfigurationArn":{"shape":"String"}, + "AmiAssociationScope":{"shape":"String"} } }, "LicenseSpecifications":{ diff --git a/models/apis/license-manager/2018-08-01/docs-2.json b/models/apis/license-manager/2018-08-01/docs-2.json index a212bbb2b3..b6337ac277 100644 --- a/models/apis/license-manager/2018-08-01/docs-2.json +++ b/models/apis/license-manager/2018-08-01/docs-2.json @@ -500,6 +500,7 @@ "LicenseConfiguration$OwnerAccountId": "

Account ID of the license configuration's owner.

", "LicenseConfigurationAssociation$ResourceArn": "

Amazon Resource Name (ARN) of the resource.

", "LicenseConfigurationAssociation$ResourceOwnerId": "

ID of the AWS account that owns the resource consuming licenses.

", + "LicenseConfigurationAssociation$AmiAssociationScope": "

Scope of AMI associations.

", "LicenseConfigurationUsage$ResourceArn": "

Amazon Resource Name (ARN) of the resource.

", "LicenseConfigurationUsage$ResourceStatus": "

Status of the resource.

", "LicenseConfigurationUsage$ResourceOwnerId": "

ID of the account that owns the resource.

", @@ -509,6 +510,7 @@ "LicenseOperationFailure$ResourceOwnerId": "

ID of the AWS account that owns the resource.

", "LicenseOperationFailure$OperationRequestedBy": "

The requester is \"License Manager Automated Discovery\".

", "LicenseSpecification$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of the license configuration.

", + "LicenseSpecification$AmiAssociationScope": "

Scope of AMI associations.

", "ListAssociationsForLicenseConfigurationRequest$LicenseConfigurationArn": "

Amazon Resource Name (ARN) of a license configuration.

", "ListAssociationsForLicenseConfigurationRequest$NextToken": "

Token for the next set of results.

", "ListAssociationsForLicenseConfigurationResponse$NextToken": "

Token for the next set of results.

", diff --git a/models/apis/outposts/2019-12-03/api-2.json b/models/apis/outposts/2019-12-03/api-2.json index 3627aa7edc..1a9575d96c 100644 --- a/models/apis/outposts/2019-12-03/api-2.json +++ b/models/apis/outposts/2019-12-03/api-2.json @@ -155,7 +155,8 @@ "Description":{"shape":"OutpostDescription"}, "SiteId":{"shape":"SiteId"}, "AvailabilityZone":{"shape":"AvailabilityZone"}, - "AvailabilityZoneId":{"shape":"AvailabilityZoneId"} + "AvailabilityZoneId":{"shape":"AvailabilityZoneId"}, + "Tags":{"shape":"TagMap"} } }, "CreateOutpostOutput":{ @@ -338,7 +339,8 @@ "Description":{"shape":"OutpostDescription"}, "LifeCycleStatus":{"shape":"LifeCycleStatus"}, "AvailabilityZone":{"shape":"AvailabilityZone"}, - "AvailabilityZoneId":{"shape":"AvailabilityZoneId"} + "AvailabilityZoneId":{"shape":"AvailabilityZoneId"}, + "Tags":{"shape":"TagMap"} } }, "OutpostArn":{ @@ -385,7 +387,8 @@ "SiteId":{"shape":"SiteId"}, "AccountId":{"shape":"AccountId"}, "Name":{"shape":"SiteName"}, - "Description":{"shape":"SiteDescription"} + "Description":{"shape":"SiteDescription"}, + "Tags":{"shape":"TagMap"} } }, "SiteDescription":{ @@ -406,6 +409,24 @@ "min":1, "pattern":"^[\\S ]+$" }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagValue":{ + "type":"string", + "max":256, + "pattern":"^[\\S \\n]+$" + }, "Token":{ "type":"string", "max":1005, diff --git a/models/apis/outposts/2019-12-03/docs-2.json b/models/apis/outposts/2019-12-03/docs-2.json index 210193633a..1623b07bc4 100644 --- a/models/apis/outposts/2019-12-03/docs-2.json +++ b/models/apis/outposts/2019-12-03/docs-2.json @@ -235,6 +235,26 @@ "Site$Name": null } }, + "TagKey": { + "base": null, + "refs": { + "TagMap$key": null + } + }, + "TagMap": { + "base": null, + "refs": { + "CreateOutpostInput$Tags": "

The tags to apply to the Outpost.

", + "Outpost$Tags": "

The Outpost tags.

", + "Site$Tags": "

The site tags.

" + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, "Token": { "base": "

The pagination token.

", "refs": { diff --git a/models/apis/securityhub/2018-10-26/api-2.json b/models/apis/securityhub/2018-10-26/api-2.json index 9c8cd499be..ac9fc6bc34 100644 --- a/models/apis/securityhub/2018-10-26/api-2.json +++ b/models/apis/securityhub/2018-10-26/api-2.json @@ -245,6 +245,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "DescribeOrganizationConfiguration":{ + "name":"DescribeOrganizationConfiguration", + "http":{ + "method":"GET", + "requestUri":"/organization/configuration" + }, + "input":{"shape":"DescribeOrganizationConfigurationRequest"}, + "output":{"shape":"DescribeOrganizationConfigurationResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ] + }, "DescribeProducts":{ "name":"DescribeProducts", "http":{ @@ -305,6 +320,21 @@ {"shape":"LimitExceededException"} ] }, + "DisableOrganizationAdminAccount":{ + "name":"DisableOrganizationAdminAccount", + "http":{ + "method":"POST", + "requestUri":"/organization/admin/disable" + }, + "input":{"shape":"DisableOrganizationAdminAccountRequest"}, + "output":{"shape":"DisableOrganizationAdminAccountResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ] + }, "DisableSecurityHub":{ "name":"DisableSecurityHub", "http":{ @@ -368,6 +398,21 @@ {"shape":"LimitExceededException"} ] }, + "EnableOrganizationAdminAccount":{ + "name":"EnableOrganizationAdminAccount", + "http":{ + "method":"POST", + "requestUri":"/organization/admin/enable" + }, + "input":{"shape":"EnableOrganizationAdminAccountRequest"}, + "output":{"shape":"EnableOrganizationAdminAccountResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ] + }, "EnableSecurityHub":{ "name":"EnableSecurityHub", "http":{ @@ -553,6 +598,21 @@ {"shape":"LimitExceededException"} ] }, + "ListOrganizationAdminAccounts":{ + "name":"ListOrganizationAdminAccounts", + "http":{ + "method":"GET", + "requestUri":"/organization/admin" + }, + "input":{"shape":"ListOrganizationAdminAccountsRequest"}, + "output":{"shape":"ListOrganizationAdminAccountsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ] + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -643,6 +703,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "UpdateOrganizationConfiguration":{ + "name":"UpdateOrganizationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/organization/configuration" + }, + "input":{"shape":"UpdateOrganizationConfigurationRequest"}, + "output":{"shape":"UpdateOrganizationConfigurationResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ] + }, "UpdateSecurityHubConfiguration":{ "name":"UpdateSecurityHubConfiguration", "http":{ @@ -703,6 +778,7 @@ }, "AccountDetails":{ "type":"structure", + "required":["AccountId"], "members":{ "AccountId":{"shape":"AccountId"}, "Email":{"shape":"NonEmptyString"} @@ -734,6 +810,29 @@ "type":"list", "member":{"shape":"ActionTarget"} }, + "AdminAccount":{ + "type":"structure", + "members":{ + "AccountId":{"shape":"NonEmptyString"}, + "Status":{"shape":"AdminStatus"} + } + }, + "AdminAccounts":{ + "type":"list", + "member":{"shape":"AdminAccount"} + }, + "AdminStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLE_IN_PROGRESS" + ] + }, + "AdminsMaxResults":{ + "type":"integer", + "max":10, + "min":1 + }, "ArnList":{ "type":"list", "member":{"shape":"NonEmptyString"} @@ -2967,6 +3066,7 @@ }, "CreateMembersRequest":{ "type":"structure", + "required":["AccountDetails"], "members":{ "AccountDetails":{"shape":"AccountDetailsList"} } @@ -2977,6 +3077,11 @@ "UnprocessedAccounts":{"shape":"ResultList"} } }, + "CrossAccountMaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, "Cvss":{ "type":"structure", "members":{ @@ -3076,6 +3181,7 @@ }, "DeleteMembersRequest":{ "type":"structure", + "required":["AccountIds"], "members":{ "AccountIds":{"shape":"AccountIdList"} } @@ -3120,6 +3226,18 @@ "AutoEnableControls":{"shape":"Boolean"} } }, + "DescribeOrganizationConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeOrganizationConfigurationResponse":{ + "type":"structure", + "members":{ + "AutoEnable":{"shape":"Boolean"}, + "MemberAccountLimitReached":{"shape":"Boolean"} + } + }, "DescribeProductsRequest":{ "type":"structure", "members":{ @@ -3209,6 +3327,18 @@ "members":{ } }, + "DisableOrganizationAdminAccountRequest":{ + "type":"structure", + "required":["AdminAccountId"], + "members":{ + "AdminAccountId":{"shape":"NonEmptyString"} + } + }, + "DisableOrganizationAdminAccountResponse":{ + "type":"structure", + "members":{ + } + }, "DisableSecurityHubRequest":{ "type":"structure", "members":{ @@ -3231,6 +3361,7 @@ }, "DisassociateMembersRequest":{ "type":"structure", + "required":["AccountIds"], "members":{ "AccountIds":{"shape":"AccountIdList"} } @@ -3254,6 +3385,18 @@ "ProductSubscriptionArn":{"shape":"NonEmptyString"} } }, + "EnableOrganizationAdminAccountRequest":{ + "type":"structure", + "required":["AdminAccountId"], + "members":{ + "AdminAccountId":{"shape":"NonEmptyString"} + } + }, + "EnableOrganizationAdminAccountResponse":{ + "type":"structure", + "members":{ + } + }, "EnableSecurityHubRequest":{ "type":"structure", "members":{ @@ -3491,6 +3634,7 @@ }, "InviteMembersRequest":{ "type":"structure", + "required":["AccountIds"], "members":{ "AccountIds":{"shape":"AccountIdList"} } @@ -3568,7 +3712,7 @@ "type":"structure", "members":{ "MaxResults":{ - "shape":"MaxResults", + "shape":"CrossAccountMaxResults", "location":"querystring", "locationName":"MaxResults" }, @@ -3595,7 +3739,7 @@ "locationName":"OnlyAssociated" }, "MaxResults":{ - "shape":"MaxResults", + "shape":"CrossAccountMaxResults", "location":"querystring", "locationName":"MaxResults" }, @@ -3613,6 +3757,28 @@ "NextToken":{"shape":"NonEmptyString"} } }, + "ListOrganizationAdminAccountsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"AdminsMaxResults", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListOrganizationAdminAccountsResponse":{ + "type":"structure", + "members":{ + "AdminAccounts":{"shape":"AdminAccounts"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["ResourceArn"], @@ -4391,6 +4557,18 @@ "members":{ } }, + "UpdateOrganizationConfigurationRequest":{ + "type":"structure", + "required":["AutoEnable"], + "members":{ + "AutoEnable":{"shape":"Boolean"} + } + }, + "UpdateOrganizationConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateSecurityHubConfigurationRequest":{ "type":"structure", "members":{ diff --git a/models/apis/securityhub/2018-10-26/docs-2.json b/models/apis/securityhub/2018-10-26/docs-2.json index 366697ba09..0185a9ad5b 100644 --- a/models/apis/securityhub/2018-10-26/docs-2.json +++ b/models/apis/securityhub/2018-10-26/docs-2.json @@ -2,47 +2,52 @@ "version": "2.0", "service": "

Security Hub provides you with a comprehensive view of the security state of your AWS environment and resources. It also provides you with the readiness status of your environment based on controls from supported security standards. Security Hub collects security data from AWS accounts, services, and integrated third-party products and helps you analyze security trends in your environment to identify the highest priority security issues. For more information about Security Hub, see the AWS Security Hub User Guide .

When you use operations in the Security Hub API, the requests are executed only in the AWS Region that is currently active or in the specific AWS Region that you specify in your request. Any configuration or settings change that results from the operation is applied only to that Region. To make the same change in other Regions, execute the same command for each Region to apply the change to.

For example, if your Region is set to us-west-2, when you use CreateMembers to add a member account to Security Hub, the association of the member account with the master account is created only in the us-west-2 Region. Security Hub must be enabled for the member account in the same Region that the invitation was sent from.

The following throttling limits apply to using Security Hub API operations.

", "operations": { - "AcceptInvitation": "

Accepts the invitation to be a member account and be monitored by the Security Hub master account that the invitation was sent from.

When the member account accepts the invitation, permission is granted to the master account to view findings generated in the member account.

", + "AcceptInvitation": "

Accepts the invitation to be a member account and be monitored by the Security Hub master account that the invitation was sent from.

This operation is only used by member accounts that are not added through Organizations.

When the member account accepts the invitation, permission is granted to the master account to view findings generated in the member account.

", "BatchDisableStandards": "

Disables the standards specified by the provided StandardsSubscriptionArns.

For more information, see Security Standards section of the AWS Security Hub User Guide.

", "BatchEnableStandards": "

Enables the standards specified by the provided StandardsArn. To obtain the ARN for a standard, use the DescribeStandards operation.

For more information, see the Security Standards section of the AWS Security Hub User Guide.

", "BatchImportFindings": "

Imports security findings generated from an integrated third-party product into Security Hub. This action is requested by the integrated product to import its findings into Security Hub.

The maximum allowed size for a finding is 240 Kb. An error is returned for any finding larger than 240 Kb.

After a finding is created, BatchImportFindings cannot be used to update the following finding fields and objects, which Security Hub customers use to manage their investigation workflow.

", "BatchUpdateFindings": "

Used by Security Hub customers to update information about their investigation into a finding. Requested by master accounts or member accounts. Master accounts can update findings for their account and their member accounts. Member accounts can update findings for their account.

Updates from BatchUpdateFindings do not affect the value of UpdatedAt for a finding.

Master and member accounts can use BatchUpdateFindings to update the following finding fields and objects.

You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. See Configuring access to BatchUpdateFindings in the AWS Security Hub User Guide.

", "CreateActionTarget": "

Creates a custom action target in Security Hub.

You can use custom actions on findings and insights in Security Hub to trigger target actions in Amazon CloudWatch Events.

", "CreateInsight": "

Creates a custom insight in Security Hub. An insight is a consolidation of findings that relate to a security issue that requires attention or remediation.

To group the related findings in the insight, use the GroupByAttribute.

", - "CreateMembers": "

Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the master account. To successfully create a member, you must use this action from an account that already has Security Hub enabled. To enable Security Hub, you can use the EnableSecurityHub operation.

After you use CreateMembers to create member account associations in Security Hub, you must use the InviteMembers operation to invite the accounts to enable Security Hub and become member accounts in Security Hub.

If the account owner accepts the invitation, the account becomes a member account in Security Hub. A permissions policy is added that permits the master account to view the findings generated in the member account. When Security Hub is enabled in the invited account, findings start to be sent to both the member and master accounts.

To remove the association between the master and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.

", - "DeclineInvitations": "

Declines invitations to become a member account.

", + "CreateMembers": "

Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the master account. If you are integrated with Organizations, then the master account is the Security Hub administrator account that is designated by the organization management account.

CreateMembers is always used to add accounts that are not organization members.

For accounts that are part of an organization, CreateMembers is only used in the following cases:

This action can only be used by an account that has Security Hub enabled. To enable Security Hub, you can use the EnableSecurityHub operation.

For accounts that are not organization members, you create the account association and then send an invitation to the member account. To send the invitation, you use the InviteMembers operation. If the account owner accepts the invitation, the account becomes a member account in Security Hub.

Accounts that are part of an organization do not receive an invitation. They automatically become a member account in Security Hub.

A permissions policy is added that permits the master account to view the findings generated in the member account. When Security Hub is enabled in a member account, findings are sent to both the member and master accounts.

To remove the association between the master and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.

", + "DeclineInvitations": "

Declines invitations to become a member account.

This operation is only used by accounts that are not part of an organization. Organization accounts do not receive invitations.

", "DeleteActionTarget": "

Deletes a custom action target from Security Hub.

Deleting a custom action target does not affect any findings or insights that were already sent to Amazon CloudWatch Events using the custom action.

", "DeleteInsight": "

Deletes the insight specified by the InsightArn.

", - "DeleteInvitations": "

Deletes invitations received by the AWS account to become a member account.

", - "DeleteMembers": "

Deletes the specified member accounts from Security Hub.

", + "DeleteInvitations": "

Deletes invitations received by the AWS account to become a member account.

This operation is only used by accounts that are not part of an organization. Organization accounts do not receive invitations.

", + "DeleteMembers": "

Deletes the specified member accounts from Security Hub.

Can be used to delete member accounts that belong to an organization as well as member accounts that were invited manually.

", "DescribeActionTargets": "

Returns a list of the custom action targets in Security Hub in your account.

", "DescribeHub": "

Returns details about the Hub resource in your account, including the HubArn and the time when you enabled Security Hub.

", + "DescribeOrganizationConfiguration": "

Returns information about the Organizations configuration for Security Hub. Can only be called from a Security Hub administrator account.

", "DescribeProducts": "

Returns information about the available products that you can subscribe to and integrate with Security Hub in order to consolidate findings.

", "DescribeStandards": "

Returns a list of the available standards in Security Hub.

For each standard, the results include the standard ARN, the name, and a description.

", "DescribeStandardsControls": "

Returns a list of security standards controls.

For each control, the results include information about whether it is currently enabled, the severity, and a link to remediation information.

", "DisableImportFindingsForProduct": "

Disables the integration of the specified product with Security Hub. After the integration is disabled, findings from that product are no longer sent to Security Hub.

", + "DisableOrganizationAdminAccount": "

Disables a Security Hub administrator account. Can only be called by the organization management account.

", "DisableSecurityHub": "

Disables Security Hub in your account only in the current Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub.

When you disable Security Hub for a master account, it doesn't disable Security Hub for any associated member accounts.

When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your master and member account associations are removed.

If you want to save your existing findings, you must export them before you disable Security Hub.

", - "DisassociateFromMasterAccount": "

Disassociates the current Security Hub member account from the associated master account.

", - "DisassociateMembers": "

Disassociates the specified member accounts from the associated master account.

", + "DisassociateFromMasterAccount": "

Disassociates the current Security Hub member account from the associated master account.

This operation is only used by accounts that are not part of an organization. For organization accounts, only the master account (the designated Security Hub administrator) can disassociate a member account.

", + "DisassociateMembers": "

Disassociates the specified member accounts from the associated master account.

Can be used to disassociate both accounts that are in an organization and accounts that were invited manually.

", "EnableImportFindingsForProduct": "

Enables the integration of a partner product with Security Hub. Integrated products send findings to Security Hub.

When you enable a product integration, a permissions policy that grants permission for the product to send findings to Security Hub is applied.

", + "EnableOrganizationAdminAccount": "

Designates the Security Hub administrator account for an organization. Can only be called by the organization management account.

", "EnableSecurityHub": "

Enables Security Hub for your account in the current Region or the Region you specify in the request.

When you enable Security Hub, you grant to Security Hub the permissions necessary to gather findings from other services that are integrated with Security Hub.

When you use the EnableSecurityHub operation to enable Security Hub, you also automatically enable the following standards.

You do not enable the Payment Card Industry Data Security Standard (PCI DSS) standard.

To not enable the automatically enabled standards, set EnableDefaultStandards to false.

After you enable Security Hub, to enable a standard, use the BatchEnableStandards operation. To disable a standard, use the BatchDisableStandards operation.

To learn more, see Setting Up AWS Security Hub in the AWS Security Hub User Guide.

", "GetEnabledStandards": "

Returns a list of the standards that are currently enabled.

", "GetFindings": "

Returns a list of findings that match the specified criteria.

", "GetInsightResults": "

Lists the results of the Security Hub insight specified by the insight ARN.

", "GetInsights": "

Lists and describes insights for the specified insight ARNs.

", "GetInvitationsCount": "

Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation.

", - "GetMasterAccount": "

Provides the details for the Security Hub master account for the current member account.

", - "GetMembers": "

Returns the details for the Security Hub member accounts for the specified account IDs.

", - "InviteMembers": "

Invites other AWS accounts to become member accounts for the Security Hub master account that the invitation is sent from.

Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub.

When the account owner accepts the invitation to become a member account and enables Security Hub, the master account can view the findings generated from the member account.

", + "GetMasterAccount": "

Provides the details for the Security Hub master account for the current member account.

Can be used by both member accounts that are in an organization and accounts that were invited manually.

", + "GetMembers": "

Returns the details for the Security Hub member accounts for the specified account IDs.

A master account can be either a delegated Security Hub administrator account for an organization or a master account that enabled Security Hub manually.

The results include both member accounts that are in an organization and accounts that were invited manually.

", + "InviteMembers": "

Invites other AWS accounts to become member accounts for the Security Hub master account that the invitation is sent from.

This operation is only used to invite accounts that do not belong to an organization. Organization accounts do not receive invitations.

Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub.

When the account owner enables Security Hub and accepts the invitation to become a member account, the master account can view the findings generated from the member account.

", "ListEnabledProductsForImport": "

Lists all findings-generating solutions (products) that you are subscribed to receive findings from in Security Hub.

", - "ListInvitations": "

Lists all Security Hub membership invitations that were sent to the current AWS account.

", - "ListMembers": "

Lists details about all member accounts for the current Security Hub master account.

", + "ListInvitations": "

Lists all Security Hub membership invitations that were sent to the current AWS account.

This operation is only used by accounts that do not belong to an organization. Organization accounts do not receive invitations.

", + "ListMembers": "

Lists details about all member accounts for the current Security Hub master account.

The results include both member accounts that belong to an organization and member accounts that were invited manually.

", + "ListOrganizationAdminAccounts": "

Lists the Security Hub administrator accounts. Can only be called by the organization management account.

", "ListTagsForResource": "

Returns a list of tags associated with a resource.

", "TagResource": "

Adds one or more tags to a resource.

", "UntagResource": "

Removes one or more tags from a resource.

", "UpdateActionTarget": "

Updates the name and description of a custom action target in Security Hub.

", "UpdateFindings": "

UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings.

Updates the Note and RecordState of the Security Hub-aggregated findings that the filter attributes specify. Any member account that can view the finding also sees the update to the finding.

", "UpdateInsight": "

Updates the Security Hub insight identified by the specified insight ARN.

", + "UpdateOrganizationConfiguration": "

Used to update the configuration related to Organizations. Can only be called from a Security Hub administrator account.

", "UpdateSecurityHubConfiguration": "

Updates configuration options for Security Hub.

", "UpdateStandardsControl": "

Used to control whether an individual security standard control is enabled or disabled.

" }, @@ -71,7 +76,7 @@ "AccountDetailsList": { "base": null, "refs": { - "CreateMembersRequest$AccountDetails": "

The list of accounts to associate with the Security Hub master account. For each account, the list includes the account ID and the email address.

" + "CreateMembersRequest$AccountDetails": "

The list of accounts to associate with the Security Hub master account. For each account, the list includes the account ID and optionally the email address.

" } }, "AccountId": { @@ -106,6 +111,30 @@ "DescribeActionTargetsResponse$ActionTargets": "

A list of ActionTarget objects. Each object includes the ActionTargetArn, Description, and Name of a custom action target available in Security Hub.

" } }, + "AdminAccount": { + "base": "

Represents a Security Hub administrator account designated by an organization management account.

", + "refs": { + "AdminAccounts$member": null + } + }, + "AdminAccounts": { + "base": null, + "refs": { + "ListOrganizationAdminAccountsResponse$AdminAccounts": "

The list of Security Hub administrator accounts.

" + } + }, + "AdminStatus": { + "base": null, + "refs": { + "AdminAccount$Status": "

The current status of the Security Hub administrator account. Indicates whether the account is currently enabled as a Security Hub administrator.

" + } + }, + "AdminsMaxResults": { + "base": null, + "refs": { + "ListOrganizationAdminAccountsRequest$MaxResults": "

The maximum number of items to return in the response.

" + } + }, "ArnList": { "base": null, "refs": { @@ -1601,9 +1630,12 @@ "AwsSecretsManagerSecretDetails$RotationEnabled": "

Whether rotation is enabled.

", "AwsSecretsManagerSecretDetails$Deleted": "

Whether the secret is deleted.

", "DescribeHubResponse$AutoEnableControls": "

Whether to automatically enable new controls when they are added to standards that are enabled.

If set to true, then new controls for enabled standards are enabled automatically. If set to false, then new controls are not enabled.

", + "DescribeOrganizationConfigurationResponse$AutoEnable": "

Whether to automatically enable Security Hub for new accounts in the organization.

If set to true, then Security Hub is enabled for new accounts. If set to false, then new accounts are not added automatically.

", + "DescribeOrganizationConfigurationResponse$MemberAccountLimitReached": "

Whether the maximum number of allowed member accounts are already associated with the Security Hub administrator account.

", "EnableSecurityHubRequest$EnableDefaultStandards": "

Whether to enable the security standards that Security Hub has designated as automatically enabled. If you do not provide a value for EnableDefaultStandards, it is set to true. To not enable the automatically enabled standards, set EnableDefaultStandards to false.

", - "ListMembersRequest$OnlyAssociated": "

Specifies which member accounts to include in the response based on their relationship status with the master account. The default value is TRUE.

If OnlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED or DISABLED.

If OnlyAssociated is set to FALSE, the response includes all existing member accounts.

", + "ListMembersRequest$OnlyAssociated": "

Specifies which member accounts to include in the response based on their relationship status with the master account. The default value is TRUE.

If OnlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED.

If OnlyAssociated is set to FALSE, the response includes all existing member accounts.

", "Standard$EnabledByDefault": "

Whether the standard is enabled by default. When Security Hub is enabled from the console, if a standard is enabled by default, the check box for that standard is selected by default.

When Security Hub is enabled using the EnableSecurityHub API operation, the standard is enabled by default unless EnableDefaultStandards is set to false.

", + "UpdateOrganizationConfigurationRequest$AutoEnable": "

Whether to automatically enable Security Hub for new accounts in the organization.

By default, this is false, and new accounts are not added automatically.

To automatically enable Security Hub for new accounts, set this to true.

", "UpdateSecurityHubConfigurationRequest$AutoEnableControls": "

Whether to automatically enable new controls when they are added to standards that are enabled.

By default, this is set to true, and new controls are enabled automatically. To not automatically enable new controls, set this to false.

" } }, @@ -1680,6 +1712,13 @@ "refs": { } }, + "CrossAccountMaxResults": { + "base": null, + "refs": { + "ListInvitationsRequest$MaxResults": "

The maximum number of items to return in the response.

", + "ListMembersRequest$MaxResults": "

The maximum number of items to return in the response.

" + } + }, "Cvss": { "base": "

CVSS scores from the advisory related to the vulnerability.

", "refs": { @@ -1796,6 +1835,16 @@ "refs": { } }, + "DescribeOrganizationConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DescribeOrganizationConfigurationResponse": { + "base": null, + "refs": { + } + }, "DescribeProductsRequest": { "base": null, "refs": { @@ -1836,6 +1885,16 @@ "refs": { } }, + "DisableOrganizationAdminAccountRequest": { + "base": null, + "refs": { + } + }, + "DisableOrganizationAdminAccountResponse": { + "base": null, + "refs": { + } + }, "DisableSecurityHubRequest": { "base": null, "refs": { @@ -1892,6 +1951,16 @@ "refs": { } }, + "EnableOrganizationAdminAccountRequest": { + "base": null, + "refs": { + } + }, + "EnableOrganizationAdminAccountResponse": { + "base": null, + "refs": { + } + }, "EnableSecurityHubRequest": { "base": null, "refs": { @@ -2142,7 +2211,7 @@ } }, "InvalidAccessException": { - "base": "

AWS Security Hub isn't enabled for the account used to make this request.

", + "base": "

There is an issue with the account used to make the request. Either Security Hub is not enabled for the account, or the account does not have permission to perform this action.

", "refs": { } }, @@ -2216,7 +2285,7 @@ } }, "LimitExceededException": { - "base": "

The request was rejected because it attempted to create resources beyond the current AWS account limits. The error code describes the limit exceeded.

", + "base": "

The request was rejected because it attempted to create resources beyond the current AWS account or throttling limits. The error code describes the limit exceeded.

", "refs": { } }, @@ -2250,6 +2319,16 @@ "refs": { } }, + "ListOrganizationAdminAccountsRequest": { + "base": null, + "refs": { + } + }, + "ListOrganizationAdminAccountsResponse": { + "base": null, + "refs": { + } + }, "ListTagsForResourceRequest": { "base": null, "refs": { @@ -2331,9 +2410,7 @@ "GetEnabledStandardsRequest$MaxResults": "

The maximum number of results to return in the response.

", "GetFindingsRequest$MaxResults": "

The maximum number of findings to return.

", "GetInsightsRequest$MaxResults": "

The maximum number of items to return in the response.

", - "ListEnabledProductsForImportRequest$MaxResults": "

The maximum number of items to return in the response.

", - "ListInvitationsRequest$MaxResults": "

The maximum number of items to return in the response.

", - "ListMembersRequest$MaxResults": "

The maximum number of items to return in the response.

" + "ListEnabledProductsForImportRequest$MaxResults": "

The maximum number of items to return in the response.

" } }, "Member": { @@ -2407,7 +2484,9 @@ "ListEnabledProductsForImportRequest$NextToken": "

The token that is required for pagination. On your first call to the ListEnabledProductsForImport operation, set the value of this parameter to NULL.

For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

", "ListEnabledProductsForImportResponse$NextToken": "

The pagination token to use to request the next page of results.

", "ListInvitationsRequest$NextToken": "

The token that is required for pagination. On your first call to the ListInvitations operation, set the value of this parameter to NULL.

For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

", - "ListMembersRequest$NextToken": "

The token that is required for pagination. On your first call to the ListMembers operation, set the value of this parameter to NULL.

For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

" + "ListMembersRequest$NextToken": "

The token that is required for pagination. On your first call to the ListMembers operation, set the value of this parameter to NULL.

For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

", + "ListOrganizationAdminAccountsRequest$NextToken": "

The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

", + "ListOrganizationAdminAccountsResponse$NextToken": "

The pagination token to use to request the next page of results.

" } }, "NonEmptyString": { @@ -2422,6 +2501,7 @@ "ActionTarget$ActionTargetArn": "

The ARN for the target action.

", "ActionTarget$Name": "

The name of the action target.

", "ActionTarget$Description": "

The description of the target action.

", + "AdminAccount$AccountId": "

The AWS account identifier of the Security Hub administrator account.

", "ArnList$member": null, "AvailabilityZone$ZoneName": "

The name of the Availability Zone.

", "AvailabilityZone$SubnetId": "

The ID of the subnet. You can specify one subnet per Availability Zone.

", @@ -2970,10 +3050,12 @@ "DescribeHubRequest$HubArn": "

The ARN of the Hub resource to retrieve.

", "DescribeHubResponse$HubArn": "

The ARN of the Hub resource that was retrieved.

", "DescribeHubResponse$SubscribedAt": "

The date and time when Security Hub was enabled in the account.

", - "DescribeStandardsControlsRequest$StandardsSubscriptionArn": "

The ARN of a resource that represents your subscription to a supported standard.

", + "DescribeStandardsControlsRequest$StandardsSubscriptionArn": "

The ARN of a resource that represents your subscription to a supported standard. To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards operation.

", "DisableImportFindingsForProductRequest$ProductSubscriptionArn": "

The ARN of the integrated product to disable the integration for.

", + "DisableOrganizationAdminAccountRequest$AdminAccountId": "

The AWS account identifier of the Security Hub administrator account.

", "EnableImportFindingsForProductRequest$ProductArn": "

The ARN of the product to enable the integration for.

", "EnableImportFindingsForProductResponse$ProductSubscriptionArn": "

The ARN of your subscription to the product to enable integrations for.

", + "EnableOrganizationAdminAccountRequest$AdminAccountId": "

The AWS account identifier of the account to designate as the Security Hub administrator account.

", "FieldMap$key": null, "FieldMap$value": null, "GetInsightResultsRequest$InsightArn": "

The ARN of the insight for which to return results.

", @@ -3011,7 +3093,7 @@ "MapFilter$Value": "

The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there is no match.

", "Member$Email": "

The email address of the member account.

", "Member$MasterId": "

The AWS account ID of the Security Hub master account associated with this member account.

", - "Member$MemberStatus": "

The status of the relationship between the member account and its master account.

The status can have one of the following values:

", + "Member$MemberStatus": "

The status of the relationship between the member account and its master account.

The status can have one of the following values:

", "Network$Protocol": "

The protocol of network-related information about a finding.

", "Network$SourceIpV4": "

The source IPv4 address of network-related information about a finding.

", "Network$SourceIpV6": "

The source IPv6 address of network-related information about a finding.

", @@ -3683,6 +3765,16 @@ "refs": { } }, + "UpdateOrganizationConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateOrganizationConfigurationResponse": { + "base": null, + "refs": { + } + }, "UpdateSecurityHubConfigurationRequest": { "base": null, "refs": { diff --git a/models/apis/securityhub/2018-10-26/paginators-1.json b/models/apis/securityhub/2018-10-26/paginators-1.json index c7924802d1..7726e5357a 100644 --- a/models/apis/securityhub/2018-10-26/paginators-1.json +++ b/models/apis/securityhub/2018-10-26/paginators-1.json @@ -49,6 +49,11 @@ "input_token": "NextToken", "output_token": "NextToken", "limit_key": "MaxResults" + }, + "ListOrganizationAdminAccounts": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" } } } diff --git a/models/apis/signer/2017-08-25/api-2.json b/models/apis/signer/2017-08-25/api-2.json index 725287074e..c835e0df96 100644 --- a/models/apis/signer/2017-08-25/api-2.json +++ b/models/apis/signer/2017-08-25/api-2.json @@ -13,6 +13,24 @@ "uid":"signer-2017-08-25" }, "operations":{ + "AddProfilePermission":{ + "name":"AddProfilePermission", + "http":{ + "method":"POST", + "requestUri":"/signing-profiles/{profileName}/permissions" + }, + "input":{"shape":"AddProfilePermissionRequest"}, + "output":{"shape":"AddProfilePermissionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceLimitExceededException"}, + {"shape":"ConflictException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServiceErrorException"} + ] + }, "CancelSigningProfile":{ "name":"CancelSigningProfile", "http":{ @@ -23,7 +41,7 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalServiceErrorException"} ] }, @@ -38,6 +56,7 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalServiceErrorException"} ] }, @@ -52,6 +71,7 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalServiceErrorException"} ] }, @@ -66,7 +86,23 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "ListProfilePermissions":{ + "name":"ListProfilePermissions", + "http":{ + "method":"GET", + "requestUri":"/signing-profiles/{profileName}/permissions" + }, + "input":{"shape":"ListProfilePermissionsRequest"}, + "output":{"shape":"ListProfilePermissionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalServiceErrorException"} ] }, @@ -81,7 +117,7 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalServiceErrorException"} ] }, @@ -96,7 +132,7 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalServiceErrorException"} ] }, @@ -110,7 +146,7 @@ "output":{"shape":"ListSigningProfilesResponse"}, "errors":[ {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalServiceErrorException"} ] }, @@ -125,7 +161,8 @@ "errors":[ {"shape":"InternalServiceErrorException"}, {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} ] }, "PutSigningProfile":{ @@ -140,7 +177,54 @@ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "RemoveProfilePermission":{ + "name":"RemoveProfilePermission", + "http":{ + "method":"DELETE", + "requestUri":"/signing-profiles/{profileName}/permissions/{statementId}" + }, + "input":{"shape":"RemoveProfilePermissionRequest"}, + "output":{"shape":"RemoveProfilePermissionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "RevokeSignature":{ + "name":"RevokeSignature", + "http":{ + "method":"PUT", + "requestUri":"/signing-jobs/{jobId}/revoke" + }, + "input":{"shape":"RevokeSignatureRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "RevokeSigningProfile":{ + "name":"RevokeSigningProfile", + "http":{ + "method":"PUT", + "requestUri":"/signing-profiles/{profileName}/revoke" + }, + "input":{"shape":"RevokeSigningProfileRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalServiceErrorException"} ] }, @@ -157,6 +241,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalServiceErrorException"} ] }, @@ -171,7 +256,8 @@ "errors":[ {"shape":"InternalServiceErrorException"}, {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} ] }, "UntagResource":{ @@ -185,24 +271,64 @@ "errors":[ {"shape":"InternalServiceErrorException"}, {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} ] } }, "shapes":{ - "key":{"type":"string"}, "AccessDeniedException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} }, "error":{"httpStatusCode":403}, "exception":true }, + "AccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^[0-9]{12}$" + }, + "AddProfilePermissionRequest":{ + "type":"structure", + "required":[ + "action", + "principal", + "statementId", + "profileName" + ], + "members":{ + "profileName":{ + "shape":"ProfileName", + "location":"uri", + "locationName":"profileName" + }, + "profileVersion":{"shape":"ProfileVersion"}, + "action":{"shape":"String"}, + "principal":{"shape":"String"}, + "revisionId":{"shape":"String"}, + "statementId":{"shape":"String"} + } + }, + "AddProfilePermissionResponse":{ + "type":"structure", + "members":{ + "revisionId":{"shape":"String"} + } + }, + "Arn":{ + "type":"string", + "max":2048, + "min":20 + }, "BadRequestException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} }, "error":{"httpStatusCode":400}, "exception":true @@ -225,8 +351,15 @@ }, "CertificateArn":{"type":"string"}, "ClientRequestToken":{"type":"string"}, - "CompletedAt":{"type":"timestamp"}, - "CreatedAt":{"type":"timestamp"}, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, "DescribeSigningJobRequest":{ "type":"structure", "required":["jobId"], @@ -245,15 +378,21 @@ "source":{"shape":"Source"}, "signingMaterial":{"shape":"SigningMaterial"}, "platformId":{"shape":"PlatformId"}, + "platformDisplayName":{"shape":"DisplayName"}, "profileName":{"shape":"ProfileName"}, + "profileVersion":{"shape":"ProfileVersion"}, "overrides":{"shape":"SigningPlatformOverrides"}, "signingParameters":{"shape":"SigningParameters"}, - "createdAt":{"shape":"CreatedAt"}, - "completedAt":{"shape":"CompletedAt"}, + "createdAt":{"shape":"Timestamp"}, + "completedAt":{"shape":"Timestamp"}, + "signatureExpiresAt":{"shape":"Timestamp"}, "requestedBy":{"shape":"RequestedBy"}, "status":{"shape":"SigningStatus"}, "statusReason":{"shape":"StatusReason"}, - "signedObject":{"shape":"SignedObject"} + "revocationRecord":{"shape":"SigningJobRevocationRecord"}, + "signedObject":{"shape":"SignedObject"}, + "jobOwner":{"shape":"AccountId"}, + "jobInvoker":{"shape":"AccountId"} } }, "Destination":{ @@ -285,6 +424,7 @@ "type":"list", "member":{"shape":"EncryptionAlgorithm"} }, + "ErrorCode":{"type":"string"}, "ErrorMessage":{"type":"string"}, "GetSigningPlatformRequest":{ "type":"structure", @@ -307,7 +447,8 @@ "category":{"shape":"Category"}, "signingConfiguration":{"shape":"SigningConfiguration"}, "signingImageFormat":{"shape":"SigningImageFormat"}, - "maxSizeInMB":{"shape":"MaxSizeInMB"} + "maxSizeInMB":{"shape":"MaxSizeInMB"}, + "revocationSupported":{"shape":"bool"} } }, "GetSigningProfileRequest":{ @@ -318,6 +459,11 @@ "shape":"ProfileName", "location":"uri", "locationName":"profileName" + }, + "profileOwner":{ + "shape":"AccountId", + "location":"querystring", + "locationName":"profileOwner" } } }, @@ -325,11 +471,17 @@ "type":"structure", "members":{ "profileName":{"shape":"ProfileName"}, + "profileVersion":{"shape":"ProfileVersion"}, + "profileVersionArn":{"shape":"Arn"}, + "revocationRecord":{"shape":"SigningProfileRevocationRecord"}, "signingMaterial":{"shape":"SigningMaterial"}, "platformId":{"shape":"PlatformId"}, + "platformDisplayName":{"shape":"DisplayName"}, + "signatureValidityPeriod":{"shape":"SignatureValidityPeriod"}, "overrides":{"shape":"SigningPlatformOverrides"}, "signingParameters":{"shape":"SigningParameters"}, "status":{"shape":"SigningProfileStatus"}, + "statusReason":{"shape":"String"}, "arn":{"shape":"string"}, "tags":{"shape":"TagMap"} } @@ -368,16 +520,43 @@ "type":"list", "member":{"shape":"ImageFormat"} }, + "Integer":{"type":"integer"}, "InternalServiceErrorException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} }, "error":{"httpStatusCode":500}, "exception":true }, "JobId":{"type":"string"}, "Key":{"type":"string"}, + "ListProfilePermissionsRequest":{ + "type":"structure", + "required":["profileName"], + "members":{ + "profileName":{ + "shape":"ProfileName", + "location":"uri", + "locationName":"profileName" + }, + "nextToken":{ + "shape":"String", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProfilePermissionsResponse":{ + "type":"structure", + "members":{ + "revisionId":{"shape":"String"}, + "policySizeBytes":{"shape":"PolicySizeBytes"}, + "permissions":{"shape":"Permissions"}, + "nextToken":{"shape":"String"} + } + }, "ListSigningJobsRequest":{ "type":"structure", "members":{ @@ -405,6 +584,26 @@ "shape":"NextToken", "location":"querystring", "locationName":"nextToken" + }, + "isRevoked":{ + "shape":"bool", + "location":"querystring", + "locationName":"isRevoked" + }, + "signatureExpiresBefore":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"signatureExpiresBefore" + }, + "signatureExpiresAfter":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"signatureExpiresAfter" + }, + "jobInvoker":{ + "shape":"AccountId", + "location":"querystring", + "locationName":"jobInvoker" } } }, @@ -469,6 +668,16 @@ "shape":"NextToken", "location":"querystring", "locationName":"nextToken" + }, + "platformId":{ + "shape":"PlatformId", + "location":"querystring", + "locationName":"platformId" + }, + "statuses":{ + "shape":"Statuses", + "location":"querystring", + "locationName":"statuses" } } }, @@ -507,12 +716,27 @@ "NotFoundException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} }, "error":{"httpStatusCode":404}, "exception":true }, + "Permission":{ + "type":"structure", + "members":{ + "action":{"shape":"String"}, + "principal":{"shape":"String"}, + "statementId":{"shape":"String"}, + "profileVersion":{"shape":"ProfileVersion"} + } + }, + "Permissions":{ + "type":"list", + "member":{"shape":"Permission"} + }, "PlatformId":{"type":"string"}, + "PolicySizeBytes":{"type":"integer"}, "Prefix":{"type":"string"}, "ProfileName":{ "type":"string", @@ -520,11 +744,16 @@ "min":2, "pattern":"^[a-zA-Z0-9_]{2,}" }, + "ProfileVersion":{ + "type":"string", + "max":10, + "min":10, + "pattern":"^[a-zA-Z0-9]{10}$" + }, "PutSigningProfileRequest":{ "type":"structure", "required":[ "profileName", - "signingMaterial", "platformId" ], "members":{ @@ -534,6 +763,7 @@ "locationName":"profileName" }, "signingMaterial":{"shape":"SigningMaterial"}, + "signatureValidityPeriod":{"shape":"SignatureValidityPeriod"}, "platformId":{"shape":"PlatformId"}, "overrides":{"shape":"SigningPlatformOverrides"}, "signingParameters":{"shape":"SigningParameters"}, @@ -543,18 +773,92 @@ "PutSigningProfileResponse":{ "type":"structure", "members":{ - "arn":{"shape":"string"} + "arn":{"shape":"string"}, + "profileVersion":{"shape":"ProfileVersion"}, + "profileVersionArn":{"shape":"Arn"} + } + }, + "RemoveProfilePermissionRequest":{ + "type":"structure", + "required":[ + "revisionId", + "profileName", + "statementId" + ], + "members":{ + "profileName":{ + "shape":"ProfileName", + "location":"uri", + "locationName":"profileName" + }, + "revisionId":{ + "shape":"String", + "location":"querystring", + "locationName":"revisionId" + }, + "statementId":{ + "shape":"String", + "location":"uri", + "locationName":"statementId" + } + } + }, + "RemoveProfilePermissionResponse":{ + "type":"structure", + "members":{ + "revisionId":{"shape":"String"} } }, "RequestedBy":{"type":"string"}, "ResourceNotFoundException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} }, "error":{"httpStatusCode":404}, "exception":true }, + "RevocationReasonString":{ + "type":"string", + "max":500, + "min":1 + }, + "RevokeSignatureRequest":{ + "type":"structure", + "required":[ + "reason", + "jobId" + ], + "members":{ + "jobId":{ + "shape":"JobId", + "location":"uri", + "locationName":"jobId" + }, + "jobOwner":{"shape":"AccountId"}, + "reason":{"shape":"RevocationReasonString"} + } + }, + "RevokeSigningProfileRequest":{ + "type":"structure", + "required":[ + "profileVersion", + "reason", + "effectiveTime", + "profileName" + ], + "members":{ + "profileName":{ + "shape":"ProfileName", + "location":"uri", + "locationName":"profileName" + }, + "profileVersion":{"shape":"ProfileVersion"}, + "reason":{"shape":"RevocationReasonString"}, + "effectiveTime":{"shape":"Timestamp"} + } + }, "S3Destination":{ "type":"structure", "members":{ @@ -566,7 +870,7 @@ "type":"structure", "members":{ "bucketName":{"shape":"BucketName"}, - "key":{"shape":"key"} + "key":{"shape":"Key"} } }, "S3Source":{ @@ -582,6 +886,22 @@ "version":{"shape":"Version"} } }, + "ServiceLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} + }, + "error":{"httpStatusCode":402}, + "exception":true + }, + "SignatureValidityPeriod":{ + "type":"structure", + "members":{ + "value":{"shape":"Integer"}, + "type":{"shape":"ValidityType"} + } + }, "SignedObject":{ "type":"structure", "members":{ @@ -624,8 +944,24 @@ "source":{"shape":"Source"}, "signedObject":{"shape":"SignedObject"}, "signingMaterial":{"shape":"SigningMaterial"}, - "createdAt":{"shape":"CreatedAt"}, - "status":{"shape":"SigningStatus"} + "createdAt":{"shape":"Timestamp"}, + "status":{"shape":"SigningStatus"}, + "isRevoked":{"shape":"bool"}, + "profileName":{"shape":"ProfileName"}, + "profileVersion":{"shape":"ProfileVersion"}, + "platformId":{"shape":"PlatformId"}, + "platformDisplayName":{"shape":"DisplayName"}, + "signatureExpiresAt":{"shape":"Timestamp"}, + "jobOwner":{"shape":"AccountId"}, + "jobInvoker":{"shape":"AccountId"} + } + }, + "SigningJobRevocationRecord":{ + "type":"structure", + "members":{ + "reason":{"shape":"String"}, + "revokedAt":{"shape":"Timestamp"}, + "revokedBy":{"shape":"String"} } }, "SigningJobs":{ @@ -656,7 +992,8 @@ "category":{"shape":"Category"}, "signingConfiguration":{"shape":"SigningConfiguration"}, "signingImageFormat":{"shape":"SigningImageFormat"}, - "maxSizeInMB":{"shape":"MaxSizeInMB"} + "maxSizeInMB":{"shape":"MaxSizeInMB"}, + "revocationSupported":{"shape":"bool"} } }, "SigningPlatformOverrides":{ @@ -674,19 +1011,32 @@ "type":"structure", "members":{ "profileName":{"shape":"ProfileName"}, + "profileVersion":{"shape":"ProfileVersion"}, + "profileVersionArn":{"shape":"Arn"}, "signingMaterial":{"shape":"SigningMaterial"}, + "signatureValidityPeriod":{"shape":"SignatureValidityPeriod"}, "platformId":{"shape":"PlatformId"}, + "platformDisplayName":{"shape":"DisplayName"}, "signingParameters":{"shape":"SigningParameters"}, "status":{"shape":"SigningProfileStatus"}, "arn":{"shape":"string"}, "tags":{"shape":"TagMap"} } }, + "SigningProfileRevocationRecord":{ + "type":"structure", + "members":{ + "revocationEffectiveFrom":{"shape":"Timestamp"}, + "revokedAt":{"shape":"Timestamp"}, + "revokedBy":{"shape":"String"} + } + }, "SigningProfileStatus":{ "type":"string", "enum":[ "Active", - "Canceled" + "Canceled", + "Revoked" ] }, "SigningProfiles":{ @@ -712,6 +1062,7 @@ "required":[ "source", "destination", + "profileName", "clientRequestToken" ], "members":{ @@ -721,16 +1072,22 @@ "clientRequestToken":{ "shape":"ClientRequestToken", "idempotencyToken":true - } + }, + "profileOwner":{"shape":"AccountId"} } }, "StartSigningJobResponse":{ "type":"structure", "members":{ - "jobId":{"shape":"JobId"} + "jobId":{"shape":"JobId"}, + "jobOwner":{"shape":"AccountId"} } }, "StatusReason":{"type":"string"}, + "Statuses":{ + "type":"list", + "member":{"shape":"SigningProfileStatus"} + }, "String":{"type":"string"}, "TagKey":{ "type":"string", @@ -778,7 +1135,20 @@ "ThrottlingException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} + }, + "deprecated":true, + "deprecatedMessage":"Instead of this error, TooManyRequestsException should be used.", + "error":{"httpStatusCode":429}, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} }, "error":{"httpStatusCode":429}, "exception":true @@ -810,11 +1180,20 @@ "ValidationException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "code":{"shape":"ErrorCode"} }, "error":{"httpStatusCode":400}, "exception":true }, + "ValidityType":{ + "type":"string", + "enum":[ + "DAYS", + "MONTHS", + "YEARS" + ] + }, "Version":{"type":"string"}, "bool":{"type":"boolean"}, "string":{"type":"string"} diff --git a/models/apis/signer/2017-08-25/docs-2.json b/models/apis/signer/2017-08-25/docs-2.json index 35380b7896..043005fc11 100644 --- a/models/apis/signer/2017-08-25/docs-2.json +++ b/models/apis/signer/2017-08-25/docs-2.json @@ -1,30 +1,61 @@ { "version": "2.0", - "service": "

With code signing for IoT, you can sign code that you create for any IoT device that is supported by Amazon Web Services (AWS). Code signing is available through Amazon FreeRTOS and AWS IoT Device Management, and integrated with AWS Certificate Manager (ACM). In order to sign code, you import a third-party code signing certificate with ACM that is used to sign updates in Amazon FreeRTOS and AWS IoT Device Management. For general information about using code signing, see the Code Signing for IoT Developer Guide.

", + "service": "

AWS Signer is a fully managed code signing service to help you ensure the trust and integrity of your code.

AWS Signer supports the following applications:

With code signing for AWS Lambda, you can sign AWS Lambda deployment packages. Integrated support is provided for Amazon S3, Amazon CloudWatch, and AWS CloudTrail. In order to sign code, you create a signing profile and then use Signer to sign Lambda zip files in S3.

With code signing for IoT, you can sign code for any IoT device that is supported by AWS. IoT code signing is available for Amazon FreeRTOS and AWS IoT Device Management, and is integrated with AWS Certificate Manager (ACM). In order to sign code, you import a third-party code signing certificate using ACM, and use that to sign updates in Amazon FreeRTOS and AWS IoT Device Management.

For more information about AWS Signer, see the AWS Signer Developer Guide.

", "operations": { + "AddProfilePermission": "

Adds cross-account permissions to a signing profile.

", "CancelSigningProfile": "

Changes the state of an ACTIVE signing profile to CANCELED. A canceled profile is still viewable with the ListSigningProfiles operation, but it cannot perform new signing jobs, and is deleted two years after cancelation.

", "DescribeSigningJob": "

Returns information about a specific code signing job. You specify the job by using the jobId value that is returned by the StartSigningJob operation.

", "GetSigningPlatform": "

Returns information on a specific signing platform.

", "GetSigningProfile": "

Returns information on a specific signing profile.

", + "ListProfilePermissions": "

Lists the cross-account permissions associated with a signing profile.

", "ListSigningJobs": "

Lists all your signing jobs. You can use the maxResults parameter to limit the number of signing jobs that are returned in the response. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned.

", "ListSigningPlatforms": "

Lists all signing platforms available in code signing that match the request parameters. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned.

", "ListSigningProfiles": "

Lists all available signing profiles in your AWS account. Returns only profiles with an ACTIVE status unless the includeCanceled request field is set to true. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned.

", "ListTagsForResource": "

Returns a list of the tags associated with a signing profile resource.

", "PutSigningProfile": "

Creates a signing profile. A signing profile is a code signing template that can be used to carry out a pre-defined signing job. For more information, see http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html

", + "RemoveProfilePermission": "

Removes cross-account permissions from a signing profile.

", + "RevokeSignature": "

Changes the state of a signing job to REVOKED. This indicates that the signature is no longer valid.

", + "RevokeSigningProfile": "

Changes the state of a signing profile to REVOKED. This indicates that signatures generated using the signing profile after an effective start date are no longer valid.

", "StartSigningJob": "

Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the ListSigningJobs operation for two years after they are performed. Note the following requirements:

You can call the DescribeSigningJob and the ListSigningJobs actions after you call StartSigningJob.

For a Java example that shows how to use this action, see http://docs.aws.amazon.com/acm/latest/userguide/

", "TagResource": "

Adds one or more tags to a signing profile. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. To specify the signing profile, use its Amazon Resource Name (ARN). To specify the tag, use a key-value pair.

", "UntagResource": "

Removes one or more tags from a signing profile. To remove the tags, specify a list of tag keys.

" }, "shapes": { - "key": { + "AccessDeniedException": { + "base": "

You do not have sufficient access to perform this action.

", + "refs": { + } + }, + "AccountId": { "base": null, "refs": { - "S3SignedObject$key": "

Key name that uniquely identifies a signed code image in your bucket.

" + "DescribeSigningJobResponse$jobOwner": "

The AWS account ID of the job owner.

", + "DescribeSigningJobResponse$jobInvoker": "

The IAM entity that initiated the signing job.

", + "GetSigningProfileRequest$profileOwner": "

The AWS account ID of the profile owner.

", + "ListSigningJobsRequest$jobInvoker": "

Filters results to return only signing jobs initiated by a specified IAM entity.

", + "RevokeSignatureRequest$jobOwner": "

AWS account ID of the job owner.

", + "SigningJob$jobOwner": "

The AWS account ID of the job owner.

", + "SigningJob$jobInvoker": "

The AWS account ID of the job invoker.

", + "StartSigningJobRequest$profileOwner": "

The AWS account ID of the signing profile owner.

", + "StartSigningJobResponse$jobOwner": "

The AWS account ID of the signing job owner.

" } }, - "AccessDeniedException": { - "base": "

You do not have sufficient access to perform this action.

", + "AddProfilePermissionRequest": { + "base": null, + "refs": { + } + }, + "AddProfilePermissionResponse": { + "base": null, + "refs": { + } + }, + "Arn": { + "base": null, "refs": { + "GetSigningProfileResponse$profileVersionArn": "

The signing profile ARN, including the profile version.

", + "PutSigningProfileResponse$profileVersionArn": "

The signing profile ARN, including the profile version.

", + "SigningProfile$profileVersionArn": "

The ARN of a signing profile, including the profile version.

" } }, "BadRequestException": { @@ -64,17 +95,9 @@ "StartSigningJobRequest$clientRequestToken": "

String that identifies the signing request. All calls after the first that use this token return the same response as the first call.

" } }, - "CompletedAt": { - "base": null, + "ConflictException": { + "base": "

The resource encountered a conflicting state.

", "refs": { - "DescribeSigningJobResponse$completedAt": "

Date and time that the signing job was completed.

" - } - }, - "CreatedAt": { - "base": null, - "refs": { - "DescribeSigningJobResponse$createdAt": "

Date and time that the signing job was created.

", - "SigningJob$createdAt": "

The date and time that the signing job was created.

" } }, "DescribeSigningJobRequest": { @@ -96,7 +119,11 @@ "DisplayName": { "base": null, "refs": { - "GetSigningPlatformResponse$displayName": "

The display name of the target signing platform.

" + "DescribeSigningJobResponse$platformDisplayName": "

A human-readable name for the signing platform associated with the signing job.

", + "GetSigningPlatformResponse$displayName": "

The display name of the target signing platform.

", + "GetSigningProfileResponse$platformDisplayName": "

A human-readable name for the signing platform associated with the signing profile.

", + "SigningJob$platformDisplayName": "

The name of a signing platform.

", + "SigningProfile$platformDisplayName": "

The name of the signing platform.

" } }, "EncryptionAlgorithm": { @@ -119,15 +146,33 @@ "EncryptionAlgorithmOptions$allowedValues": "

The set of accepted encryption algorithms that are allowed in a code signing job.

" } }, + "ErrorCode": { + "base": null, + "refs": { + "AccessDeniedException$code": null, + "BadRequestException$code": null, + "ConflictException$code": null, + "InternalServiceErrorException$code": null, + "NotFoundException$code": null, + "ResourceNotFoundException$code": null, + "ServiceLimitExceededException$code": null, + "ThrottlingException$code": null, + "TooManyRequestsException$code": null, + "ValidationException$code": null + } + }, "ErrorMessage": { "base": null, "refs": { "AccessDeniedException$message": null, "BadRequestException$message": null, + "ConflictException$message": null, "InternalServiceErrorException$message": null, "NotFoundException$message": null, "ResourceNotFoundException$message": null, + "ServiceLimitExceededException$message": null, "ThrottlingException$message": null, + "TooManyRequestsException$message": null, "ValidationException$message": null } }, @@ -185,6 +230,12 @@ "SigningImageFormat$supportedFormats": "

The supported formats of a code signing image.

" } }, + "Integer": { + "base": null, + "refs": { + "SignatureValidityPeriod$value": "

The numerical value of the time unit for signature validity.

" + } + }, "InternalServiceErrorException": { "base": "

An internal error occurred.

", "refs": { @@ -195,6 +246,7 @@ "refs": { "DescribeSigningJobRequest$jobId": "

The ID of the signing job on input.

", "DescribeSigningJobResponse$jobId": "

The ID of the signing job on output.

", + "RevokeSignatureRequest$jobId": "

ID of the signing job to be revoked.

", "SigningJob$jobId": "

The ID of the signing job.

", "StartSigningJobResponse$jobId": "

The ID of your signing job.

" } @@ -202,9 +254,20 @@ "Key": { "base": null, "refs": { + "S3SignedObject$key": "

Key name that uniquely identifies a signed code image in your bucket.

", "S3Source$key": "

Key name of the bucket object that contains your unsigned code.

" } }, + "ListProfilePermissionsRequest": { + "base": null, + "refs": { + } + }, + "ListProfilePermissionsResponse": { + "base": null, + "refs": { + } + }, "ListSigningJobsRequest": { "base": null, "refs": { @@ -274,6 +337,18 @@ "refs": { } }, + "Permission": { + "base": "

A cross-account permission for a signing profile.

", + "refs": { + "Permissions$member": null + } + }, + "Permissions": { + "base": null, + "refs": { + "ListProfilePermissionsResponse$permissions": "

List of permissions associated with the Signing Profile.

" + } + }, "PlatformId": { "base": null, "refs": { @@ -282,10 +357,18 @@ "GetSigningPlatformResponse$platformId": "

The ID of the target signing platform.

", "GetSigningProfileResponse$platformId": "

The ID of the platform that is used by the target signing profile.

", "ListSigningJobsRequest$platformId": "

The ID of microcontroller platform that you specified for the distribution of your code image.

", + "ListSigningProfilesRequest$platformId": "

Filters results to return only signing jobs initiated for a specified signing platform.

", "PutSigningProfileRequest$platformId": "

The ID of the signing platform to be created.

", + "SigningJob$platformId": "

The unique identifier for a signing platform.

", "SigningProfile$platformId": "

The ID of a platform that is available for use by a signing profile.

" } }, + "PolicySizeBytes": { + "base": null, + "refs": { + "ListProfilePermissionsResponse$policySizeBytes": "

Total size of the policy associated with the Signing Profile in bytes.

" + } + }, "Prefix": { "base": null, "refs": { @@ -295,15 +378,33 @@ "ProfileName": { "base": null, "refs": { + "AddProfilePermissionRequest$profileName": "

The human-readable name of the signing profile.

", "CancelSigningProfileRequest$profileName": "

The name of the signing profile to be canceled.

", "DescribeSigningJobResponse$profileName": "

The name of the profile that initiated the signing operation.

", "GetSigningProfileRequest$profileName": "

The name of the target signing profile.

", "GetSigningProfileResponse$profileName": "

The name of the target signing profile.

", + "ListProfilePermissionsRequest$profileName": "

Name of the signing profile containing the cross-account permissions.

", "PutSigningProfileRequest$profileName": "

The name of the signing profile to be created.

", + "RemoveProfilePermissionRequest$profileName": "

A human-readable name for the signing profile with permissions to be removed.

", + "RevokeSigningProfileRequest$profileName": "

The name of the signing profile to be revoked.

", + "SigningJob$profileName": "

The name of the signing profile that created a signing job.

", "SigningProfile$profileName": "

The name of the signing profile.

", "StartSigningJobRequest$profileName": "

The name of the signing profile.

" } }, + "ProfileVersion": { + "base": null, + "refs": { + "AddProfilePermissionRequest$profileVersion": "

The version of the signing profile.

", + "DescribeSigningJobResponse$profileVersion": "

The version of the signing profile used to initiate the signing job.

", + "GetSigningProfileResponse$profileVersion": "

The current version of the signing profile.

", + "Permission$profileVersion": "

The signing profile version that a permission applies to.

", + "PutSigningProfileResponse$profileVersion": "

The version of the signing profile being created.

", + "RevokeSigningProfileRequest$profileVersion": "

The version of the signing profile to be revoked.

", + "SigningJob$profileVersion": "

The version of the signing profile that created a signing job.

", + "SigningProfile$profileVersion": "

The version of a signing profile.

" + } + }, "PutSigningProfileRequest": { "base": null, "refs": { @@ -314,6 +415,16 @@ "refs": { } }, + "RemoveProfilePermissionRequest": { + "base": null, + "refs": { + } + }, + "RemoveProfilePermissionResponse": { + "base": null, + "refs": { + } + }, "RequestedBy": { "base": null, "refs": { @@ -326,6 +437,23 @@ "refs": { } }, + "RevocationReasonString": { + "base": null, + "refs": { + "RevokeSignatureRequest$reason": "

The reason for revoking the signing job.

", + "RevokeSigningProfileRequest$reason": "

The reason for revoking a signing profile.

" + } + }, + "RevokeSignatureRequest": { + "base": null, + "refs": { + } + }, + "RevokeSigningProfileRequest": { + "base": null, + "refs": { + } + }, "S3Destination": { "base": "

The name and prefix of the S3 bucket where code signing saves your signed objects.

", "refs": { @@ -344,6 +472,19 @@ "Source$s3": "

The S3Source object.

" } }, + "ServiceLimitExceededException": { + "base": "

The client is making a request that exceeds service limits.

", + "refs": { + } + }, + "SignatureValidityPeriod": { + "base": "

The validity period for a signing job.

", + "refs": { + "GetSigningProfileResponse$signatureValidityPeriod": null, + "PutSigningProfileRequest$signatureValidityPeriod": "

The default validity period override for any signature generated using this signing profile. If unspecified, the default is 135 months.

", + "SigningProfile$signatureValidityPeriod": "

The validity period for a signing job created using this signing profile.

" + } + }, "SignedObject": { "base": "

Points to an S3SignedObject object that contains information about your signed code image.

", "refs": { @@ -377,6 +518,12 @@ "SigningJobs$member": null } }, + "SigningJobRevocationRecord": { + "base": "

Revocation information for a signing job.

", + "refs": { + "DescribeSigningJobResponse$revocationRecord": "

A revocation record if the signature generated by the signing job has been revoked. Contains a timestamp and the ID of the IAM entity that revoked the signature.

" + } + }, "SigningJobs": { "base": null, "refs": { @@ -440,11 +587,18 @@ "SigningProfiles$member": null } }, + "SigningProfileRevocationRecord": { + "base": "

Revocation information for a signing profile.

", + "refs": { + "GetSigningProfileResponse$revocationRecord": null + } + }, "SigningProfileStatus": { "base": null, "refs": { "GetSigningProfileResponse$status": "

The status of the target signing profile.

", - "SigningProfile$status": "

The status of a code signing profile.

" + "SigningProfile$status": "

The status of a code signing profile.

", + "Statuses$member": null } }, "SigningProfiles": { @@ -485,21 +639,45 @@ "DescribeSigningJobResponse$statusReason": "

String value that contains the status reason.

" } }, + "Statuses": { + "base": null, + "refs": { + "ListSigningProfilesRequest$statuses": "

Filters results to return only signing jobs with statuses in the specified list.

" + } + }, "String": { "base": null, "refs": { + "AddProfilePermissionRequest$action": "

The AWS Signer action permitted as part of cross-account permissions.

", + "AddProfilePermissionRequest$principal": "

The AWS principal receiving cross-account permissions. This may be an IAM role or another AWS account ID.

", + "AddProfilePermissionRequest$revisionId": "

A unique identifier for the current profile revision.

", + "AddProfilePermissionRequest$statementId": "

A unique identifier for the cross-account permission statement.

", + "AddProfilePermissionResponse$revisionId": "

A unique identifier for the current profile revision.

", "GetSigningPlatformResponse$partner": "

A list of partner entities that use the target signing platform.

", "GetSigningPlatformResponse$target": "

The validation template that is used by the target signing platform.

", + "GetSigningProfileResponse$statusReason": "

Reason for the status of the target signing profile.

", + "ListProfilePermissionsRequest$nextToken": "

String for specifying the next set of paginated results.

", + "ListProfilePermissionsResponse$revisionId": "

The identifier for the current revision of profile permissions.

", + "ListProfilePermissionsResponse$nextToken": "

String for specifying the next set of paginated results.

", "ListSigningPlatformsRequest$category": "

The category type of a signing platform.

", "ListSigningPlatformsRequest$partner": "

Any partner entities connected to a signing platform.

", "ListSigningPlatformsRequest$target": "

The validation template that is used by the target signing platform.

", "ListSigningPlatformsRequest$nextToken": "

Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.

", "ListSigningPlatformsResponse$nextToken": "

Value for specifying the next set of paginated results to return.

", "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) for the signing profile.

", + "Permission$action": "

An AWS Signer action permitted as part of cross-account permissions.

", + "Permission$principal": "

The AWS principal that has been granted a cross-account permission.

", + "Permission$statementId": "

A unique identifier for a cross-account permission statement.

", + "RemoveProfilePermissionRequest$revisionId": "

An identifier for the current revision of the signing profile permissions.

", + "RemoveProfilePermissionRequest$statementId": "

A unique identifier for the cross-account permissions statement.

", + "RemoveProfilePermissionResponse$revisionId": "

An identifier for the current revision of the profile permissions.

", + "SigningJobRevocationRecord$reason": "

A caller-supplied reason for revocation.

", + "SigningJobRevocationRecord$revokedBy": "

The identity of the revoker.

", "SigningPlatform$platformId": "

The ID of a code signing; platform.

", "SigningPlatform$displayName": "

The display name of a code signing platform.

", "SigningPlatform$partner": "

Any partner entities linked to a code signing platform.

", "SigningPlatform$target": "

The types of targets that can be signed by a code signing platform.

", + "SigningProfileRevocationRecord$revokedBy": "

The identity of the revoker.

", "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) for the signing profile.

", "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) for the signing profile.

" } @@ -544,7 +722,28 @@ } }, "ThrottlingException": { - "base": "

The signing job has been throttled.

", + "base": "

The request was denied due to request throttling.

Instead of this error, TooManyRequestsException should be used.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "DescribeSigningJobResponse$createdAt": "

Date and time that the signing job was created.

", + "DescribeSigningJobResponse$completedAt": "

Date and time that the signing job was completed.

", + "DescribeSigningJobResponse$signatureExpiresAt": "

Thr expiration timestamp for the signature generated by the signing job.

", + "ListSigningJobsRequest$signatureExpiresBefore": "

Filters results to return only signing jobs with signatures expiring before a specified timestamp.

", + "ListSigningJobsRequest$signatureExpiresAfter": "

Filters results to return only signing jobs with signatures expiring after a specified timestamp.

", + "RevokeSigningProfileRequest$effectiveTime": "

A timestamp for when revocation of a Signing Profile should become effective. Signatures generated using the signing profile after this timestamp are not trusted.

", + "SigningJob$createdAt": "

The date and time that the signing job was created.

", + "SigningJob$signatureExpiresAt": "

The time when the signature of a signing job expires.

", + "SigningJobRevocationRecord$revokedAt": "

The time of revocation.

", + "SigningProfileRevocationRecord$revocationEffectiveFrom": "

The time when revocation becomes effective.

", + "SigningProfileRevocationRecord$revokedAt": "

The time when the signing profile was revoked.

" + } + }, + "TooManyRequestsException": { + "base": "

The allowed number of job-signing requests has been exceeded.

This error supersedes the error ThrottlingException.

", "refs": { } }, @@ -563,6 +762,12 @@ "refs": { } }, + "ValidityType": { + "base": null, + "refs": { + "SignatureValidityPeriod$type": "

The time unit for signature validity.

" + } + }, "Version": { "base": null, "refs": { @@ -572,7 +777,11 @@ "bool": { "base": null, "refs": { - "ListSigningProfilesRequest$includeCanceled": "

Designates whether to include profiles with the status of CANCELED.

" + "GetSigningPlatformResponse$revocationSupported": "

A flag indicating whether signatures generated for the signing platform can be revoked.

", + "ListSigningJobsRequest$isRevoked": "

Filters results to return only signing jobs with revoked signatures.

", + "ListSigningProfilesRequest$includeCanceled": "

Designates whether to include profiles with the status of CANCELED.

", + "SigningJob$isRevoked": "

Indicates whether the signing job is revoked.

", + "SigningPlatform$revocationSupported": "

Indicates whether revocation is supported for the platform.

" } }, "string": { diff --git a/models/apis/sso-admin/2020-07-20/api-2.json b/models/apis/sso-admin/2020-07-20/api-2.json index 05ac652a59..f5c043d835 100644 --- a/models/apis/sso-admin/2020-07-20/api-2.json +++ b/models/apis/sso-admin/2020-07-20/api-2.json @@ -50,6 +50,23 @@ {"shape":"ConflictException"} ] }, + "CreateInstanceAccessControlAttributeConfiguration":{ + "name":"CreateInstanceAccessControlAttributeConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInstanceAccessControlAttributeConfigurationRequest"}, + "output":{"shape":"CreateInstanceAccessControlAttributeConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ] + }, "CreatePermissionSet":{ "name":"CreatePermissionSet", "http":{ @@ -102,6 +119,23 @@ {"shape":"ConflictException"} ] }, + "DeleteInstanceAccessControlAttributeConfiguration":{ + "name":"DeleteInstanceAccessControlAttributeConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInstanceAccessControlAttributeConfigurationRequest"}, + "output":{"shape":"DeleteInstanceAccessControlAttributeConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ] + }, "DeletePermissionSet":{ "name":"DeletePermissionSet", "http":{ @@ -151,6 +185,22 @@ {"shape":"AccessDeniedException"} ] }, + "DescribeInstanceAccessControlAttributeConfiguration":{ + "name":"DescribeInstanceAccessControlAttributeConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstanceAccessControlAttributeConfigurationRequest"}, + "output":{"shape":"DescribeInstanceAccessControlAttributeConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "DescribePermissionSet":{ "name":"DescribePermissionSet", "http":{ @@ -445,6 +495,23 @@ {"shape":"ConflictException"} ] }, + "UpdateInstanceAccessControlAttributeConfiguration":{ + "name":"UpdateInstanceAccessControlAttributeConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateInstanceAccessControlAttributeConfigurationRequest"}, + "output":{"shape":"UpdateInstanceAccessControlAttributeConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ] + }, "UpdatePermissionSet":{ "name":"UpdatePermissionSet", "http":{ @@ -464,6 +531,48 @@ } }, "shapes":{ + "AccessControlAttribute":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"AccessControlAttributeKey"}, + "Value":{"shape":"AccessControlAttributeValue"} + } + }, + "AccessControlAttributeKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]+" + }, + "AccessControlAttributeList":{ + "type":"list", + "member":{"shape":"AccessControlAttribute"}, + "max":50, + "min":0 + }, + "AccessControlAttributeValue":{ + "type":"structure", + "required":["Source"], + "members":{ + "Source":{"shape":"AccessControlAttributeValueSourceList"} + } + }, + "AccessControlAttributeValueSource":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@\\[\\]\\{\\}\\$\\\\\"]*" + }, + "AccessControlAttributeValueSourceList":{ + "type":"list", + "member":{"shape":"AccessControlAttributeValueSource"}, + "max":1, + "min":1 + }, "AccessDeniedException":{ "type":"structure", "members":{ @@ -581,6 +690,22 @@ "AccountAssignmentCreationStatus":{"shape":"AccountAssignmentOperationStatus"} } }, + "CreateInstanceAccessControlAttributeConfigurationRequest":{ + "type":"structure", + "required":[ + "InstanceArn", + "InstanceAccessControlAttributeConfiguration" + ], + "members":{ + "InstanceArn":{"shape":"InstanceArn"}, + "InstanceAccessControlAttributeConfiguration":{"shape":"InstanceAccessControlAttributeConfiguration"} + } + }, + "CreateInstanceAccessControlAttributeConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "CreatePermissionSetRequest":{ "type":"structure", "required":[ @@ -644,6 +769,18 @@ "members":{ } }, + "DeleteInstanceAccessControlAttributeConfigurationRequest":{ + "type":"structure", + "required":["InstanceArn"], + "members":{ + "InstanceArn":{"shape":"InstanceArn"} + } + }, + "DeleteInstanceAccessControlAttributeConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "DeletePermissionSetRequest":{ "type":"structure", "required":[ @@ -694,6 +831,21 @@ "AccountAssignmentDeletionStatus":{"shape":"AccountAssignmentOperationStatus"} } }, + "DescribeInstanceAccessControlAttributeConfigurationRequest":{ + "type":"structure", + "required":["InstanceArn"], + "members":{ + "InstanceArn":{"shape":"InstanceArn"} + } + }, + "DescribeInstanceAccessControlAttributeConfigurationResponse":{ + "type":"structure", + "members":{ + "Status":{"shape":"InstanceAccessControlAttributeConfigurationStatus"}, + "StatusReason":{"shape":"InstanceAccessControlAttributeConfigurationStatusReason"}, + "InstanceAccessControlAttributeConfiguration":{"shape":"InstanceAccessControlAttributeConfiguration"} + } + }, "DescribePermissionSetProvisioningStatusRequest":{ "type":"structure", "required":[ @@ -781,6 +933,22 @@ "min":1, "pattern":"^[a-zA-Z0-9-]*" }, + "InstanceAccessControlAttributeConfiguration":{ + "type":"structure", + "required":["AccessControlAttributes"], + "members":{ + "AccessControlAttributes":{"shape":"AccessControlAttributeList"} + } + }, + "InstanceAccessControlAttributeConfigurationStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "CREATION_IN_PROGRESS", + "CREATION_FAILED" + ] + }, + "InstanceAccessControlAttributeConfigurationStatusReason":{"type":"string"}, "InstanceArn":{ "type":"string", "max":1224, @@ -1265,6 +1433,22 @@ "members":{ } }, + "UpdateInstanceAccessControlAttributeConfigurationRequest":{ + "type":"structure", + "required":[ + "InstanceArn", + "InstanceAccessControlAttributeConfiguration" + ], + "members":{ + "InstanceArn":{"shape":"InstanceArn"}, + "InstanceAccessControlAttributeConfiguration":{"shape":"InstanceAccessControlAttributeConfiguration"} + } + }, + "UpdateInstanceAccessControlAttributeConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "UpdatePermissionSetRequest":{ "type":"structure", "required":[ diff --git a/models/apis/sso-admin/2020-07-20/docs-2.json b/models/apis/sso-admin/2020-07-20/docs-2.json index 1493f27abe..6baab3f662 100644 --- a/models/apis/sso-admin/2020-07-20/docs-2.json +++ b/models/apis/sso-admin/2020-07-20/docs-2.json @@ -4,12 +4,15 @@ "operations": { "AttachManagedPolicyToPermissionSet": "

Attaches an IAM managed policy ARN to a permission set.

If the permission set is already referenced by one or more account assignments, you will need to call ProvisionPermissionSet after this action to apply the corresponding IAM policy updates to all assigned accounts.

", "CreateAccountAssignment": "

Assigns access to a principal for a specified AWS account using a specified permission set.

The term principal here refers to a user or group that is defined in AWS SSO.

As part of a successful CreateAccountAssignment call, the specified permission set will automatically be provisioned to the account in the form of an IAM policy attached to the SSO-created IAM role. If the permission set is subsequently updated, the corresponding IAM policies attached to roles in your accounts will not be updated automatically. In this case, you will need to call ProvisionPermissionSet to make these updates.

", + "CreateInstanceAccessControlAttributeConfiguration": "

Enables the attributes-based access control (ABAC) feature for the specified AWS SSO instance. You can also specify new attributes to add to your ABAC configuration during the enabling process. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

", "CreatePermissionSet": "

Creates a permission set within a specified SSO instance.

To grant users and groups access to AWS account resources, use CreateAccountAssignment .

", "DeleteAccountAssignment": "

Deletes a principal's access from a specified AWS account using a specified permission set.

", "DeleteInlinePolicyFromPermissionSet": "

Deletes the inline policy from a specified permission set.

", + "DeleteInstanceAccessControlAttributeConfiguration": "

Disables the attributes-based access control (ABAC) feature for the specified AWS SSO instance and deletes all of the attribute mappings that have been configured. Once deleted, any attributes that are received from an identity source and any custom attributes you have previously configured will not be passed. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

", "DeletePermissionSet": "

Deletes the specified permission set.

", "DescribeAccountAssignmentCreationStatus": "

Describes the status of the assignment creation request.

", "DescribeAccountAssignmentDeletionStatus": "

Describes the status of the assignment deletion request.

", + "DescribeInstanceAccessControlAttributeConfiguration": "

Returns the list of AWS SSO identity store attributes that have been configured to work with attributes-based access control (ABAC) for the specified AWS SSO instance. This will not return attributes configured and sent by an external identity provider. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

", "DescribePermissionSet": "

Gets the details of the permission set.

", "DescribePermissionSetProvisioningStatus": "

Describes the status for the given permission set provisioning request.

", "DetachManagedPolicyFromPermissionSet": "

Detaches the attached IAM managed policy ARN from the specified permission set.

", @@ -28,9 +31,46 @@ "PutInlinePolicyToPermissionSet": "

Attaches an IAM inline policy to a permission set.

If the permission set is already referenced by one or more account assignments, you will need to call ProvisionPermissionSet after this action to apply the corresponding IAM policy updates to all assigned accounts.

", "TagResource": "

Associates a set of tags with a specified resource.

", "UntagResource": "

Disassociates a set of tags from a specified resource.

", + "UpdateInstanceAccessControlAttributeConfiguration": "

Updates the AWS SSO identity store attributes to use with the AWS SSO instance for attributes-based access control (ABAC). When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the AWS SSO identity store. If a SAML assertion passes any of these attributes, AWS SSO will replace the attribute value with the value from the AWS SSO identity store. For more information about ABAC, see Attribute-Based Access Control in the AWS SSO User Guide.

", "UpdatePermissionSet": "

Updates an existing permission set.

" }, "shapes": { + "AccessControlAttribute": { + "base": "

These are AWS SSO identity store attributes that you can configure for use in attributes-based access control (ABAC). You can create permission policies that determine who can access your AWS resources based upon the configured attribute value(s). When you enable ABAC and specify AccessControlAttributes, AWS SSO passes the attribute(s) value of the authenticated user into IAM for use in policy evaluation.

", + "refs": { + "AccessControlAttributeList$member": null + } + }, + "AccessControlAttributeKey": { + "base": null, + "refs": { + "AccessControlAttribute$Key": "

The name of the attribute associated with your identities in your identity source. This is used to map a specified attribute in your identity source with an attribute in AWS SSO.

" + } + }, + "AccessControlAttributeList": { + "base": null, + "refs": { + "InstanceAccessControlAttributeConfiguration$AccessControlAttributes": "

Lists the attributes that are configured for ABAC in the specified AWS SSO instance.

" + } + }, + "AccessControlAttributeValue": { + "base": "

The value used for mapping a specified attribute to an identity source.

", + "refs": { + "AccessControlAttribute$Value": "

The value used for mapping a specified attribute to an identity source.

" + } + }, + "AccessControlAttributeValueSource": { + "base": null, + "refs": { + "AccessControlAttributeValueSourceList$member": null + } + }, + "AccessControlAttributeValueSourceList": { + "base": null, + "refs": { + "AccessControlAttributeValue$Source": "

The identity source to use when mapping a specified attribute to AWS SSO.

" + } + }, "AccessDeniedException": { "base": "

You do not have sufficient access to perform this action.

", "refs": { @@ -134,6 +174,16 @@ "refs": { } }, + "CreateInstanceAccessControlAttributeConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateInstanceAccessControlAttributeConfigurationResponse": { + "base": null, + "refs": { + } + }, "CreatePermissionSetRequest": { "base": null, "refs": { @@ -174,6 +224,16 @@ "refs": { } }, + "DeleteInstanceAccessControlAttributeConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteInstanceAccessControlAttributeConfigurationResponse": { + "base": null, + "refs": { + } + }, "DeletePermissionSetRequest": { "base": null, "refs": { @@ -204,6 +264,16 @@ "refs": { } }, + "DescribeInstanceAccessControlAttributeConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DescribeInstanceAccessControlAttributeConfigurationResponse": { + "base": null, + "refs": { + } + }, "DescribePermissionSetProvisioningStatusRequest": { "base": null, "refs": { @@ -266,17 +336,40 @@ "InstanceMetadata$IdentityStoreId": "

The identifier of the identity store that is connected to the SSO instance.

" } }, + "InstanceAccessControlAttributeConfiguration": { + "base": "

Specifies the attributes to add to your attribute-based access control (ABAC) configuration.

", + "refs": { + "CreateInstanceAccessControlAttributeConfigurationRequest$InstanceAccessControlAttributeConfiguration": "

Specifies the AWS SSO identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the AWS SSO identity store. If a SAML assertion passes any of these attributes, AWS SSO will replace the attribute value with the value from the AWS SSO identity store.

", + "DescribeInstanceAccessControlAttributeConfigurationResponse$InstanceAccessControlAttributeConfiguration": "

Gets the list of AWS SSO identity store attributes added to your ABAC configuration.

", + "UpdateInstanceAccessControlAttributeConfigurationRequest$InstanceAccessControlAttributeConfiguration": "

Updates the attributes for your ABAC configuration.

" + } + }, + "InstanceAccessControlAttributeConfigurationStatus": { + "base": null, + "refs": { + "DescribeInstanceAccessControlAttributeConfigurationResponse$Status": "

The status of the attribute configuration process.

" + } + }, + "InstanceAccessControlAttributeConfigurationStatusReason": { + "base": null, + "refs": { + "DescribeInstanceAccessControlAttributeConfigurationResponse$StatusReason": "

Provides more details about the current status of the specified attribute.

" + } + }, "InstanceArn": { "base": null, "refs": { "AttachManagedPolicyToPermissionSetRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "CreateAccountAssignmentRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "CreateInstanceAccessControlAttributeConfigurationRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed.

", "CreatePermissionSetRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "DeleteAccountAssignmentRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "DeleteInlinePolicyFromPermissionSetRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "DeleteInstanceAccessControlAttributeConfigurationRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed.

", "DeletePermissionSetRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "DescribeAccountAssignmentCreationStatusRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "DescribeAccountAssignmentDeletionStatusRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "DescribeInstanceAccessControlAttributeConfigurationRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed.

", "DescribePermissionSetProvisioningStatusRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "DescribePermissionSetRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "DetachManagedPolicyFromPermissionSetRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", @@ -295,6 +388,7 @@ "PutInlinePolicyToPermissionSetRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "TagResourceRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "UntagResourceRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "UpdateInstanceAccessControlAttributeConfigurationRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed.

", "UpdatePermissionSetRequest$InstanceArn": "

The ARN of the SSO instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } }, @@ -753,6 +847,16 @@ "refs": { } }, + "UpdateInstanceAccessControlAttributeConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateInstanceAccessControlAttributeConfigurationResponse": { + "base": null, + "refs": { + } + }, "UpdatePermissionSetRequest": { "base": null, "refs": { diff --git a/models/apis/timestream-query/2018-11-01/api-2.json b/models/apis/timestream-query/2018-11-01/api-2.json index 5a9079d930..e4ac5c8803 100644 --- a/models/apis/timestream-query/2018-11-01/api-2.json +++ b/models/apis/timestream-query/2018-11-01/api-2.json @@ -141,6 +141,7 @@ "Endpoints":{"shape":"Endpoints"} } }, + "Double":{"type":"double"}, "Endpoint":{ "type":"structure", "required":[ @@ -219,7 +220,16 @@ "QueryId":{"shape":"QueryId"}, "NextToken":{"shape":"String"}, "Rows":{"shape":"RowList"}, - "ColumnInfo":{"shape":"ColumnInfoList"} + "ColumnInfo":{"shape":"ColumnInfoList"}, + "QueryStatus":{"shape":"QueryStatus"} + } + }, + "QueryStatus":{ + "type":"structure", + "members":{ + "ProgressPercentage":{"shape":"Double"}, + "CumulativeBytesScanned":{"shape":"Long"}, + "CumulativeBytesMetered":{"shape":"Long"} } }, "QueryString":{ diff --git a/models/apis/timestream-query/2018-11-01/docs-2.json b/models/apis/timestream-query/2018-11-01/docs-2.json index 4035a9fe91..471de1644b 100644 --- a/models/apis/timestream-query/2018-11-01/docs-2.json +++ b/models/apis/timestream-query/2018-11-01/docs-2.json @@ -72,6 +72,12 @@ "refs": { } }, + "Double": { + "base": null, + "refs": { + "QueryStatus$ProgressPercentage": "

The progress of the query, expressed as a percentage.

" + } + }, "Endpoint": { "base": "

Represents an available endpoint against which to make API calls agaisnt, as well as the TTL for that endpoint.

", "refs": { @@ -108,7 +114,9 @@ "Long": { "base": null, "refs": { - "Endpoint$CachePeriodInMinutes": "

The TTL for the endpoint, in minutes.

" + "Endpoint$CachePeriodInMinutes": "

The TTL for the endpoint, in minutes.

", + "QueryStatus$CumulativeBytesScanned": "

The amount of data scanned by the query in bytes. This is a cumulative sum and represents the total amount of bytes scanned since the query was started.

", + "QueryStatus$CumulativeBytesMetered": "

The amount of data scanned by the query in bytes that you will be charged for. This is a cumulative sum and represents the total amount of data that you will be charged for since the query was started. The charge is applied only once and is either applied when the query completes execution or when the query is cancelled.

" } }, "MaxQueryResults": { @@ -145,6 +153,12 @@ "refs": { } }, + "QueryStatus": { + "base": "

Information about the status of the query, including progress and bytes scannned.

", + "refs": { + "QueryResponse$QueryStatus": "

Information about the status of the query, including progress and bytes scannned.

" + } + }, "QueryString": { "base": null, "refs": { diff --git a/models/apis/timestream-query/2018-11-01/paginators-1.json b/models/apis/timestream-query/2018-11-01/paginators-1.json index 1eb99abdb1..dcc93dac8d 100644 --- a/models/apis/timestream-query/2018-11-01/paginators-1.json +++ b/models/apis/timestream-query/2018-11-01/paginators-1.json @@ -5,7 +5,8 @@ "limit_key": "MaxRows", "non_aggregate_keys": [ "ColumnInfo", - "QueryId" + "QueryId", + "QueryStatus" ], "output_token": "NextToken", "result_key": "Rows" diff --git a/models/apis/translate/2017-07-01/api-2.json b/models/apis/translate/2017-07-01/api-2.json index e3c55926e8..720e8216f6 100644 --- a/models/apis/translate/2017-07-01/api-2.json +++ b/models/apis/translate/2017-07-01/api-2.json @@ -13,6 +13,38 @@ "uid":"translate-2017-07-01" }, "operations":{ + "CreateParallelData":{ + "name":"CreateParallelData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateParallelDataRequest"}, + "output":{"shape":"CreateParallelDataResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, + "DeleteParallelData":{ + "name":"DeleteParallelData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteParallelDataRequest"}, + "output":{"shape":"DeleteParallelDataResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, "DeleteTerminology":{ "name":"DeleteTerminology", "http":{ @@ -41,6 +73,21 @@ {"shape":"InternalServerException"} ] }, + "GetParallelData":{ + "name":"GetParallelData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetParallelDataRequest"}, + "output":{"shape":"GetParallelDataResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, "GetTerminology":{ "name":"GetTerminology", "http":{ @@ -71,6 +118,20 @@ {"shape":"InternalServerException"} ] }, + "ListParallelData":{ + "name":"ListParallelData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListParallelDataRequest"}, + "output":{"shape":"ListParallelDataResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ] + }, "ListTerminologies":{ "name":"ListTerminologies", "http":{ @@ -148,6 +209,25 @@ {"shape":"InternalServerException"}, {"shape":"ServiceUnavailableException"} ] + }, + "UpdateParallelData":{ + "name":"UpdateParallelData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateParallelDataRequest"}, + "output":{"shape":"UpdateParallelDataResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] } }, "shapes":{ @@ -174,11 +254,64 @@ "min":1, "pattern":"^[a-zA-Z0-9-]+$" }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "ContentType":{ "type":"string", "max":256, "pattern":"^[-\\w.]+\\/[-\\w.+]+$" }, + "CreateParallelDataRequest":{ + "type":"structure", + "required":[ + "Name", + "ParallelDataConfig", + "ClientToken" + ], + "members":{ + "Name":{"shape":"ResourceName"}, + "Description":{"shape":"Description"}, + "ParallelDataConfig":{"shape":"ParallelDataConfig"}, + "EncryptionKey":{"shape":"EncryptionKey"}, + "ClientToken":{ + "shape":"ClientTokenString", + "idempotencyToken":true + } + } + }, + "CreateParallelDataResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"ResourceName"}, + "Status":{"shape":"ParallelDataStatus"} + } + }, + "DeleteParallelDataRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"ResourceName"} + } + }, + "DeleteParallelDataResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"ResourceName"}, + "Status":{"shape":"ParallelDataStatus"} + } + }, "DeleteTerminologyRequest":{ "type":"structure", "required":["Name"], @@ -233,6 +366,22 @@ "type":"string", "enum":["KMS"] }, + "GetParallelDataRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"ResourceName"} + } + }, + "GetParallelDataResponse":{ + "type":"structure", + "members":{ + "ParallelDataProperties":{"shape":"ParallelDataProperties"}, + "DataLocation":{"shape":"ParallelDataDataLocation"}, + "AuxiliaryDataLocation":{"shape":"ParallelDataDataLocation"}, + "LatestUpdateAttemptAuxiliaryDataLocation":{"shape":"ParallelDataDataLocation"} + } + }, "GetTerminologyRequest":{ "type":"structure", "required":[ @@ -367,6 +516,20 @@ }, "exception":true }, + "ListParallelDataRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResultsInteger"} + } + }, + "ListParallelDataResponse":{ + "type":"structure", + "members":{ + "ParallelDataPropertiesList":{"shape":"ParallelDataPropertiesList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListTerminologiesRequest":{ "type":"structure", "members":{ @@ -396,6 +559,7 @@ "NextToken":{"shape":"NextToken"} } }, + "Long":{"type":"long"}, "MaxResultsInteger":{ "type":"integer", "max":500, @@ -417,6 +581,77 @@ "S3Uri":{"shape":"S3Uri"} } }, + "ParallelDataArn":{ + "type":"string", + "max":512, + "min":1 + }, + "ParallelDataConfig":{ + "type":"structure", + "required":[ + "S3Uri", + "Format" + ], + "members":{ + "S3Uri":{"shape":"S3Uri"}, + "Format":{"shape":"ParallelDataFormat"} + } + }, + "ParallelDataDataLocation":{ + "type":"structure", + "required":[ + "RepositoryType", + "Location" + ], + "members":{ + "RepositoryType":{"shape":"String"}, + "Location":{"shape":"String"} + } + }, + "ParallelDataFormat":{ + "type":"string", + "enum":[ + "TSV", + "CSV", + "TMX" + ] + }, + "ParallelDataProperties":{ + "type":"structure", + "members":{ + "Name":{"shape":"ResourceName"}, + "Arn":{"shape":"ParallelDataArn"}, + "Description":{"shape":"Description"}, + "Status":{"shape":"ParallelDataStatus"}, + "SourceLanguageCode":{"shape":"LanguageCodeString"}, + "TargetLanguageCodes":{"shape":"LanguageCodeStringList"}, + "ParallelDataConfig":{"shape":"ParallelDataConfig"}, + "Message":{"shape":"UnboundedLengthString"}, + "ImportedDataSize":{"shape":"Long"}, + "ImportedRecordCount":{"shape":"Long"}, + "FailedRecordCount":{"shape":"Long"}, + "SkippedRecordCount":{"shape":"Long"}, + "EncryptionKey":{"shape":"EncryptionKey"}, + "CreatedAt":{"shape":"Timestamp"}, + "LastUpdatedAt":{"shape":"Timestamp"}, + "LatestUpdateAttemptStatus":{"shape":"ParallelDataStatus"}, + "LatestUpdateAttemptAt":{"shape":"Timestamp"} + } + }, + "ParallelDataPropertiesList":{ + "type":"list", + "member":{"shape":"ParallelDataProperties"} + }, + "ParallelDataStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "ACTIVE", + "DELETING", + "FAILED" + ] + }, "ResourceName":{ "type":"string", "max":256, @@ -465,6 +700,7 @@ "SourceLanguageCode":{"shape":"LanguageCodeString"}, "TargetLanguageCodes":{"shape":"TargetLanguageCodeStringList"}, "TerminologyNames":{"shape":"ResourceNameList"}, + "ParallelDataNames":{"shape":"ResourceNameList"}, "ClientToken":{ "shape":"ClientTokenString", "idempotencyToken":true @@ -598,6 +834,7 @@ "SourceLanguageCode":{"shape":"LanguageCodeString"}, "TargetLanguageCodes":{"shape":"TargetLanguageCodeStringList"}, "TerminologyNames":{"shape":"ResourceNameList"}, + "ParallelDataNames":{"shape":"ResourceNameList"}, "Message":{"shape":"UnboundedLengthString"}, "SubmittedTime":{"shape":"Timestamp"}, "EndTime":{"shape":"Timestamp"}, @@ -655,6 +892,32 @@ "TargetLanguageCode":{"shape":"LanguageCodeString"} }, "exception":true + }, + "UpdateParallelDataRequest":{ + "type":"structure", + "required":[ + "Name", + "ParallelDataConfig", + "ClientToken" + ], + "members":{ + "Name":{"shape":"ResourceName"}, + "Description":{"shape":"Description"}, + "ParallelDataConfig":{"shape":"ParallelDataConfig"}, + "ClientToken":{ + "shape":"ClientTokenString", + "idempotencyToken":true + } + } + }, + "UpdateParallelDataResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"ResourceName"}, + "Status":{"shape":"ParallelDataStatus"}, + "LatestUpdateAttemptStatus":{"shape":"ParallelDataStatus"}, + "LatestUpdateAttemptAt":{"shape":"Timestamp"} + } } } } diff --git a/models/apis/translate/2017-07-01/docs-2.json b/models/apis/translate/2017-07-01/docs-2.json index efbb6d6954..e63eafe32d 100644 --- a/models/apis/translate/2017-07-01/docs-2.json +++ b/models/apis/translate/2017-07-01/docs-2.json @@ -2,15 +2,20 @@ "version": "2.0", "service": "

Provides translation between one source language and another of the same set of languages.

", "operations": { + "CreateParallelData": "

Creates a parallel data resource in Amazon Translate by importing an input file from Amazon S3. Parallel data files contain examples of source phrases and their translations from your translation memory. By adding parallel data, you can influence the style, tone, and word choice in your translation output.

", + "DeleteParallelData": "

Deletes a parallel data resource in Amazon Translate.

", "DeleteTerminology": "

A synchronous action that deletes a custom terminology.

", "DescribeTextTranslationJob": "

Gets the properties associated with an asycnhronous batch translation job including name, ID, status, source and target languages, input/output S3 buckets, and so on.

", + "GetParallelData": "

Provides information about a parallel data resource.

", "GetTerminology": "

Retrieves a custom terminology.

", "ImportTerminology": "

Creates or updates a custom terminology, depending on whether or not one already exists for the given terminology name. Importing a terminology with the same name as an existing one will merge the terminologies based on the chosen merge strategy. Currently, the only supported merge strategy is OVERWRITE, and so the imported terminology will overwrite an existing terminology of the same name.

If you import a terminology that overwrites an existing one, the new terminology take up to 10 minutes to fully propagate and be available for use in a translation due to cache policies with the DataPlane service that performs the translations.

", + "ListParallelData": "

Provides a list of your parallel data resources in Amazon Translate.

", "ListTerminologies": "

Provides a list of custom terminologies associated with your account.

", "ListTextTranslationJobs": "

Gets a list of the batch translation jobs that you have submitted.

", "StartTextTranslationJob": "

Starts an asynchronous batch translation job. Batch translation jobs can be used to translate large volumes of text across multiple documents at once. For more information, see async.

Batch translation jobs can be described with the DescribeTextTranslationJob operation, listed with the ListTextTranslationJobs operation, and stopped with the StopTextTranslationJob operation.

Amazon Translate does not support batch translation of multiple source languages at once.

", "StopTextTranslationJob": "

Stops an asynchronous batch translation job that is in progress.

If the job's state is IN_PROGRESS, the job will be marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state. Otherwise, the job is put into the STOPPED state.

Asynchronous batch translation jobs are started with the StartTextTranslationJob operation. You can use the DescribeTextTranslationJob or ListTextTranslationJobs operations to get a batch translation job's JobId.

", - "TranslateText": "

Translates input text from the source language to the target language. For a list of available languages and language codes, see what-is-languages.

" + "TranslateText": "

Translates input text from the source language to the target language. For a list of available languages and language codes, see what-is-languages.

", + "UpdateParallelData": "

Updates a previously created parallel data resource by importing a new input file from Amazon S3.

" }, "shapes": { "AppliedTerminology": { @@ -34,7 +39,19 @@ "ClientTokenString": { "base": null, "refs": { - "StartTextTranslationJobRequest$ClientToken": "

A unique identifier for the request. This token is auto-generated when using the Amazon Translate SDK.

" + "CreateParallelDataRequest$ClientToken": "

A unique identifier for the request. This token is automatically generated when you use Amazon Translate through an AWS SDK.

", + "StartTextTranslationJobRequest$ClientToken": "

A unique identifier for the request. This token is auto-generated when using the Amazon Translate SDK.

", + "UpdateParallelDataRequest$ClientToken": "

A unique identifier for the request. This token is automatically generated when you use Amazon Translate through an AWS SDK.

" + } + }, + "ConcurrentModificationException": { + "base": "

Another modification is being made. That modification must complete before you can make your change.

", + "refs": { + } + }, + "ConflictException": { + "base": "

There was a conflict processing the request. Try your request again.

", + "refs": { } }, "ContentType": { @@ -43,6 +60,26 @@ "InputDataConfig$ContentType": "

Describes the format of the data that you submit to Amazon Translate as input. You can specify one of the following multipurpose internet mail extension (MIME) types:

If you structure your input data as HTML, ensure that you set this parameter to text/html. By doing so, you cut costs by limiting the translation to the contents of the html element in each file. Otherwise, if you set this parameter to text/plain, your costs will cover the translation of every character.

" } }, + "CreateParallelDataRequest": { + "base": null, + "refs": { + } + }, + "CreateParallelDataResponse": { + "base": null, + "refs": { + } + }, + "DeleteParallelDataRequest": { + "base": null, + "refs": { + } + }, + "DeleteParallelDataResponse": { + "base": null, + "refs": { + } + }, "DeleteTerminologyRequest": { "base": null, "refs": { @@ -61,8 +98,11 @@ "Description": { "base": null, "refs": { + "CreateParallelDataRequest$Description": "

A custom description for the parallel data resource in Amazon Translate.

", "ImportTerminologyRequest$Description": "

The description of the custom terminology being imported.

", - "TerminologyProperties$Description": "

The description of the custom terminology properties.

" + "ParallelDataProperties$Description": "

The description assigned to the parallel data resource.

", + "TerminologyProperties$Description": "

The description of the custom terminology properties.

", + "UpdateParallelDataRequest$Description": "

A custom description for the parallel data resource in Amazon Translate.

" } }, "DetectedLanguageLowConfidenceException": { @@ -71,9 +111,11 @@ } }, "EncryptionKey": { - "base": "

The encryption key used to encrypt the custom terminologies used by Amazon Translate.

", + "base": "

The encryption key used to encrypt this object.

", "refs": { + "CreateParallelDataRequest$EncryptionKey": null, "ImportTerminologyRequest$EncryptionKey": "

The encryption key for the custom terminology being imported.

", + "ParallelDataProperties$EncryptionKey": null, "TerminologyProperties$EncryptionKey": "

The encryption key for the custom terminology.

" } }, @@ -89,6 +131,16 @@ "EncryptionKey$Type": "

The type of encryption key used by Amazon Translate to encrypt custom terminologies.

" } }, + "GetParallelDataRequest": { + "base": null, + "refs": { + } + }, + "GetParallelDataResponse": { + "base": null, + "refs": { + } + }, "GetTerminologyRequest": { "base": null, "refs": { @@ -191,6 +243,7 @@ "refs": { "DetectedLanguageLowConfidenceException$DetectedLanguageCode": "

The language code of the auto-detected language from Amazon Comprehend.

", "LanguageCodeStringList$member": null, + "ParallelDataProperties$SourceLanguageCode": "

The source language of the translations in the parallel data file.

", "StartTextTranslationJobRequest$SourceLanguageCode": "

The language code of the input language. For a list of language codes, see what-is-languages.

Amazon Translate does not automatically detect a source language during batch translation jobs.

", "TargetLanguageCodeStringList$member": null, "TerminologyProperties$SourceLanguageCode": "

The language code for the source text of the translation request for which the custom terminology is being used.

", @@ -206,6 +259,7 @@ "LanguageCodeStringList": { "base": null, "refs": { + "ParallelDataProperties$TargetLanguageCodes": "

The language codes for the target languages available in the parallel data file. All possible target languages are returned as an array.

", "TerminologyProperties$TargetLanguageCodes": "

The language codes for the target languages available with the custom terminology file. All possible target languages are returned in array.

" } }, @@ -214,6 +268,16 @@ "refs": { } }, + "ListParallelDataRequest": { + "base": null, + "refs": { + } + }, + "ListParallelDataResponse": { + "base": null, + "refs": { + } + }, "ListTerminologiesRequest": { "base": null, "refs": { @@ -234,9 +298,19 @@ "refs": { } }, + "Long": { + "base": null, + "refs": { + "ParallelDataProperties$ImportedDataSize": "

The number of UTF-8 characters that Amazon Translate imported from the parallel data input file. This number includes only the characters in your translation examples. It does not include characters that are used to format your file. For example, if you provided a Translation Memory Exchange (.tmx) file, this number does not include the tags.

", + "ParallelDataProperties$ImportedRecordCount": "

The number of records successfully imported from the parallel data input file.

", + "ParallelDataProperties$FailedRecordCount": "

The number of records unsuccessfully imported from the parallel data input file.

", + "ParallelDataProperties$SkippedRecordCount": "

The number of items in the input file that Amazon Translate skipped when you created or updated the parallel data resource. For example, Amazon Translate skips empty records, empty target texts, and empty lines.

" + } + }, "MaxResultsInteger": { "base": null, "refs": { + "ListParallelDataRequest$MaxResults": "

The maximum number of parallel data resources returned for each request.

", "ListTerminologiesRequest$MaxResults": "

The maximum number of custom terminologies returned per list request.

", "ListTextTranslationJobsRequest$MaxResults": "

The maximum number of results to return in each page. The default value is 100.

" } @@ -250,6 +324,8 @@ "NextToken": { "base": null, "refs": { + "ListParallelDataRequest$NextToken": "

A string that specifies the next page of results to return in a paginated response.

", + "ListParallelDataResponse$NextToken": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

", "ListTerminologiesRequest$NextToken": "

If the result of the request to ListTerminologies was truncated, include the NextToken to fetch the next group of custom terminologies.

", "ListTerminologiesResponse$NextToken": "

If the response to the ListTerminologies was truncated, the NextToken fetches the next group of custom terminologies.

", "ListTextTranslationJobsRequest$NextToken": "

The token to request the next page of results.

", @@ -263,22 +339,84 @@ "TextTranslationJobProperties$OutputDataConfig": "

The output configuration properties that were specified when the job was requested.

" } }, + "ParallelDataArn": { + "base": null, + "refs": { + "ParallelDataProperties$Arn": "

The Amazon Resource Name (ARN) of the parallel data resource.

" + } + }, + "ParallelDataConfig": { + "base": "

Specifies the format and S3 location of the parallel data input file.

", + "refs": { + "CreateParallelDataRequest$ParallelDataConfig": "

Specifies the format and S3 location of the parallel data input file.

", + "ParallelDataProperties$ParallelDataConfig": "

Specifies the format and S3 location of the parallel data input file.

", + "UpdateParallelDataRequest$ParallelDataConfig": "

Specifies the format and S3 location of the parallel data input file.

" + } + }, + "ParallelDataDataLocation": { + "base": "

The location of the most recent parallel data input file that was successfully imported into Amazon Translate.

", + "refs": { + "GetParallelDataResponse$DataLocation": "

The location of the most recent parallel data input file that was successfully imported into Amazon Translate. The location is returned as a presigned URL that has a 30 minute expiration.

", + "GetParallelDataResponse$AuxiliaryDataLocation": "

The Amazon S3 location of a file that provides any errors or warnings that were produced by your input file. This file was created when Amazon Translate attempted to create a parallel data resource. The location is returned as a presigned URL to that has a 30 minute expiration.

", + "GetParallelDataResponse$LatestUpdateAttemptAuxiliaryDataLocation": "

The Amazon S3 location of a file that provides any errors or warnings that were produced by your input file. This file was created when Amazon Translate attempted to update a parallel data resource. The location is returned as a presigned URL to that has a 30 minute expiration.

" + } + }, + "ParallelDataFormat": { + "base": null, + "refs": { + "ParallelDataConfig$Format": "

The format of the parallel data input file.

" + } + }, + "ParallelDataProperties": { + "base": "

The properties of a parallel data resource.

", + "refs": { + "GetParallelDataResponse$ParallelDataProperties": "

The properties of the parallel data resource that is being retrieved.

", + "ParallelDataPropertiesList$member": null + } + }, + "ParallelDataPropertiesList": { + "base": null, + "refs": { + "ListParallelDataResponse$ParallelDataPropertiesList": "

The properties of the parallel data resources returned by this request.

" + } + }, + "ParallelDataStatus": { + "base": null, + "refs": { + "CreateParallelDataResponse$Status": "

The status of the parallel data resource. When the resource is ready for you to use, the status is ACTIVE.

", + "DeleteParallelDataResponse$Status": "

The status of the parallel data deletion.

", + "ParallelDataProperties$Status": "

The status of the parallel data resource. When the parallel data is ready for you to use, the status is ACTIVE.

", + "ParallelDataProperties$LatestUpdateAttemptStatus": "

The status of the most recent update attempt for the parallel data resource.

", + "UpdateParallelDataResponse$Status": "

The status of the parallel data resource that you are attempting to update. Your update request is accepted only if this status is either ACTIVE or FAILED.

", + "UpdateParallelDataResponse$LatestUpdateAttemptStatus": "

The status of the parallel data update attempt. When the updated parallel data resource is ready for you to use, the status is ACTIVE.

" + } + }, "ResourceName": { "base": null, "refs": { "AppliedTerminology$Name": "

The name of the custom terminology applied to the input text by Amazon Translate for the translated text response.

", + "CreateParallelDataRequest$Name": "

A custom name for the parallel data resource in Amazon Translate. You must assign a name that is unique in the account and region.

", + "CreateParallelDataResponse$Name": "

The custom name that you assigned to the parallel data resource.

", + "DeleteParallelDataRequest$Name": "

The name of the parallel data resource that is being deleted.

", + "DeleteParallelDataResponse$Name": "

The name of the parallel data resource that is being deleted.

", "DeleteTerminologyRequest$Name": "

The name of the custom terminology being deleted.

", + "GetParallelDataRequest$Name": "

The name of the parallel data resource that is being retrieved.

", "GetTerminologyRequest$Name": "

The name of the custom terminology being retrieved.

", "ImportTerminologyRequest$Name": "

The name of the custom terminology being imported.

", + "ParallelDataProperties$Name": "

The custom name assigned to the parallel data resource.

", "ResourceNameList$member": null, - "TerminologyProperties$Name": "

The name of the custom terminology.

" + "TerminologyProperties$Name": "

The name of the custom terminology.

", + "UpdateParallelDataRequest$Name": "

The name of the parallel data resource being updated.

", + "UpdateParallelDataResponse$Name": "

The name of the parallel data resource being updated.

" } }, "ResourceNameList": { "base": null, "refs": { "StartTextTranslationJobRequest$TerminologyNames": "

The name of the terminology to use in the batch translation job. For a list of available terminologies, use the ListTerminologies operation.

", + "StartTextTranslationJobRequest$ParallelDataNames": "

The names of the parallel data resources to use in the batch translation job. For a list of available parallel data resources, use the ListParallelData operation.

", "TextTranslationJobProperties$TerminologyNames": "

A list containing the names of the terminologies applied to a translation job. Only one terminology can be applied per StartTextTranslationJob request at this time.

", + "TextTranslationJobProperties$ParallelDataNames": "

A list containing the names of the parallel data resources applied to the translation job.

", "TranslateTextRequest$TerminologyNames": "

The name of the terminology list file to be used in the TranslateText request. You can use 1 terminology list at most in a TranslateText request. Terminology lists can contain a maximum of 256 terms.

" } }, @@ -291,7 +429,8 @@ "base": null, "refs": { "InputDataConfig$S3Uri": "

The URI of the AWS S3 folder that contains the input file. The folder must be in the same Region as the API endpoint you are calling.

", - "OutputDataConfig$S3Uri": "

The URI of the S3 folder that contains a translation job's output file. The folder must be in the same Region as the API endpoint that you are calling.

" + "OutputDataConfig$S3Uri": "

The URI of the S3 folder that contains a translation job's output file. The folder must be in the same Region as the API endpoint that you are calling.

", + "ParallelDataConfig$S3Uri": "

The URI of the Amazon S3 folder that contains the parallel data input file. The folder must be in the same Region as the API endpoint you are calling.

" } }, "ServiceUnavailableException": { @@ -322,12 +461,16 @@ "String": { "base": null, "refs": { + "ConcurrentModificationException$Message": null, + "ConflictException$Message": null, "DetectedLanguageLowConfidenceException$Message": null, "InternalServerException$Message": null, "InvalidFilterException$Message": null, "InvalidParameterValueException$Message": null, "InvalidRequestException$Message": null, "LimitExceededException$Message": null, + "ParallelDataDataLocation$RepositoryType": "

Describes the repository that contains the parallel data input file.

", + "ParallelDataDataLocation$Location": "

The Amazon S3 location of the parallel data input file. The location is returned as a presigned URL to that has a 30 minute expiration.

", "ResourceNotFoundException$Message": null, "ServiceUnavailableException$Message": null, "Term$SourceText": "

The source text of the term being translated by the custom terminology.

", @@ -431,12 +574,16 @@ "Timestamp": { "base": null, "refs": { + "ParallelDataProperties$CreatedAt": "

The time at which the parallel data resource was created.

", + "ParallelDataProperties$LastUpdatedAt": "

The time at which the parallel data resource was last updated.

", + "ParallelDataProperties$LatestUpdateAttemptAt": "

The time that the most recent update was attempted.

", "TerminologyProperties$CreatedAt": "

The time at which the custom terminology was created, based on the timestamp.

", "TerminologyProperties$LastUpdatedAt": "

The time at which the custom terminology was last update, based on the timestamp.

", "TextTranslationJobFilter$SubmittedBeforeTime": "

Filters the list of jobs based on the time that the job was submitted for processing and returns only the jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

", "TextTranslationJobFilter$SubmittedAfterTime": "

Filters the list of jobs based on the time that the job was submitted for processing and returns only the jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

", "TextTranslationJobProperties$SubmittedTime": "

The time at which the translation job was submitted.

", - "TextTranslationJobProperties$EndTime": "

The time at which the translation job ended.

" + "TextTranslationJobProperties$EndTime": "

The time at which the translation job ended.

", + "UpdateParallelDataResponse$LatestUpdateAttemptAt": "

The time that the most recent update was attempted.

" } }, "TooManyRequestsException": { @@ -457,6 +604,7 @@ "UnboundedLengthString": { "base": null, "refs": { + "ParallelDataProperties$Message": "

Additional information from Amazon Translate about the parallel data resource.

", "TextTranslationJobProperties$Message": "

An explanation of any errors that may have occured during the translation job.

" } }, @@ -464,6 +612,16 @@ "base": "

Amazon Translate does not support translation from the language of the source text into the requested target language. For more information, see how-to-error-msg.

", "refs": { } + }, + "UpdateParallelDataRequest": { + "base": null, + "refs": { + } + }, + "UpdateParallelDataResponse": { + "base": null, + "refs": { + } } } } diff --git a/models/apis/translate/2017-07-01/paginators-1.json b/models/apis/translate/2017-07-01/paginators-1.json index 67f44714ac..7447f8e1bf 100644 --- a/models/apis/translate/2017-07-01/paginators-1.json +++ b/models/apis/translate/2017-07-01/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "ListParallelData": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, "ListTerminologies": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index e695fc726d..92cb2ded7b 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -6736,6 +6736,16 @@ "cn-northwest-1" : { } } }, + "docdb" : { + "endpoints" : { + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "rds.cn-northwest-1.amazonaws.com.cn" + } + } + }, "ds" : { "endpoints" : { "cn-north-1" : { }, diff --git a/service/applicationinsights/api.go b/service/applicationinsights/api.go index 3c33025637..2f560284f7 100644 --- a/service/applicationinsights/api.go +++ b/service/applicationinsights/api.go @@ -82,6 +82,9 @@ func (c *ApplicationInsights) CreateApplicationRequest(input *CreateApplicationI // * TagsAlreadyExistException // Tags are already registered for the specified application ARN. // +// * AccessDeniedException +// User does not have permissions to perform this action. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateApplication func (c *ApplicationInsights) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { req, out := c.CreateApplicationRequest(input) @@ -2707,20 +2710,86 @@ func (c *ApplicationInsights) UpdateLogPatternWithContext(ctx aws.Context, input return out, req.Send() } +// User does not have permissions to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + // Describes a standalone resource or similarly grouped resources that the application // is made up of. type ApplicationComponent struct { _ struct{} `type:"structure"` // The name of the component. - ComponentName *string `type:"string"` + ComponentName *string `min:"1" type:"string"` + + // If logging is supported for the resource type, indicates whether the component + // has configured logs to be monitored. + ComponentRemarks *string `type:"string"` + + // Workloads detected in the application component. + DetectedWorkload map[string]map[string]*string `type:"map"` // Indicates whether the application component is monitored. Monitor *bool `type:"boolean"` + // The operating system of the component. + OsType *string `type:"string" enum:"OsType"` + // The resource type. Supported resource types include EC2 instances, Auto Scaling // group, Classic ELB, Application ELB, and SQS Queue. - ResourceType *string `type:"string"` + ResourceType *string `min:"1" type:"string"` // The stack tier of the application component. Tier *string `min:"1" type:"string" enum:"Tier"` @@ -2742,12 +2811,30 @@ func (s *ApplicationComponent) SetComponentName(v string) *ApplicationComponent return s } +// SetComponentRemarks sets the ComponentRemarks field's value. +func (s *ApplicationComponent) SetComponentRemarks(v string) *ApplicationComponent { + s.ComponentRemarks = &v + return s +} + +// SetDetectedWorkload sets the DetectedWorkload field's value. +func (s *ApplicationComponent) SetDetectedWorkload(v map[string]map[string]*string) *ApplicationComponent { + s.DetectedWorkload = v + return s +} + // SetMonitor sets the Monitor field's value. func (s *ApplicationComponent) SetMonitor(v bool) *ApplicationComponent { s.Monitor = &v return s } +// SetOsType sets the OsType field's value. +func (s *ApplicationComponent) SetOsType(v string) *ApplicationComponent { + s.OsType = &v + return s +} + // SetResourceType sets the ResourceType field's value. func (s *ApplicationComponent) SetResourceType(v string) *ApplicationComponent { s.ResourceType = &v @@ -3089,7 +3176,7 @@ type CreateComponentInput struct { // The name of the component. // // ComponentName is a required field - ComponentName *string `type:"string" required:"true"` + ComponentName *string `min:"1" type:"string" required:"true"` // The name of the resource group. // @@ -3118,6 +3205,9 @@ func (s *CreateComponentInput) Validate() error { if s.ComponentName == nil { invalidParams.Add(request.NewErrParamRequired("ComponentName")) } + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } @@ -3169,7 +3259,8 @@ func (s CreateComponentOutput) GoString() string { type CreateLogPatternInput struct { _ struct{} `type:"structure"` - // The log pattern. + // The log pattern. The pattern must be DFA compatible. Patterns that utilize + // forward lookahead or backreference constructions are not supported. // // Pattern is a required field Pattern *string `min:"1" type:"string" required:"true"` @@ -3184,7 +3275,14 @@ type CreateLogPatternInput struct { // PatternSetName is a required field PatternSetName *string `min:"1" type:"string" required:"true"` - // Rank of the log pattern. + // Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns + // are sorted by rank, so we recommend that you set your highest priority patterns + // with the lowest rank. A pattern of rank 1 will be the first to get matched + // to a log line. A pattern of rank 1,000,000 will be last to get matched. When + // you configure custom log patterns from the console, a Low severity pattern + // translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 + // rank. And a High severity pattern translates to a 250,000 rank. Rank values + // less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns. // // Rank is a required field Rank *int64 `type:"integer" required:"true"` @@ -3365,7 +3463,7 @@ type DeleteComponentInput struct { // The name of the component. // // ComponentName is a required field - ComponentName *string `type:"string" required:"true"` + ComponentName *string `min:"1" type:"string" required:"true"` // The name of the resource group. // @@ -3389,6 +3487,9 @@ func (s *DeleteComponentInput) Validate() error { if s.ComponentName == nil { invalidParams.Add(request.NewErrParamRequired("ComponentName")) } + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } @@ -3587,7 +3688,7 @@ type DescribeComponentConfigurationInput struct { // The name of the component. // // ComponentName is a required field - ComponentName *string `type:"string" required:"true"` + ComponentName *string `min:"1" type:"string" required:"true"` // The name of the resource group. // @@ -3611,6 +3712,9 @@ func (s *DescribeComponentConfigurationInput) Validate() error { if s.ComponentName == nil { invalidParams.Add(request.NewErrParamRequired("ComponentName")) } + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } @@ -3685,7 +3789,7 @@ type DescribeComponentConfigurationRecommendationInput struct { // The name of the component. // // ComponentName is a required field - ComponentName *string `type:"string" required:"true"` + ComponentName *string `min:"1" type:"string" required:"true"` // The name of the resource group. // @@ -3715,6 +3819,9 @@ func (s *DescribeComponentConfigurationRecommendationInput) Validate() error { if s.ComponentName == nil { invalidParams.Add(request.NewErrParamRequired("ComponentName")) } + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } @@ -3782,7 +3889,7 @@ type DescribeComponentInput struct { // The name of the component. // // ComponentName is a required field - ComponentName *string `type:"string" required:"true"` + ComponentName *string `min:"1" type:"string" required:"true"` // The name of the resource group. // @@ -3806,6 +3913,9 @@ func (s *DescribeComponentInput) Validate() error { if s.ComponentName == nil { invalidParams.Add(request.NewErrParamRequired("ComponentName")) } + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } @@ -4227,7 +4337,7 @@ type ListApplicationsInput struct { MaxResults *int64 `min:"1" type:"integer"` // The token to request the next page of results. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` } // String returns the string representation @@ -4246,6 +4356,9 @@ func (s *ListApplicationsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -4273,7 +4386,7 @@ type ListApplicationsOutput struct { // The token used to retrieve the next page of results. This value is null when // there are no more results to return. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` } // String returns the string representation @@ -4306,7 +4419,7 @@ type ListComponentsInput struct { MaxResults *int64 `min:"1" type:"integer"` // The token to request the next page of results. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` // The name of the resource group. // @@ -4330,6 +4443,9 @@ func (s *ListComponentsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } @@ -4368,7 +4484,7 @@ type ListComponentsOutput struct { ApplicationComponentList []*ApplicationComponent `type:"list"` // The token to request the next page of results. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` } // String returns the string representation @@ -4416,7 +4532,7 @@ type ListConfigurationHistoryInput struct { // parameter. Pagination continues from the end of the previous results that // returned the NextToken value. This value is null when there are no more results // to return. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` // Resource group to which the application belongs. ResourceGroupName *string `min:"1" type:"string"` @@ -4441,6 +4557,9 @@ func (s *ListConfigurationHistoryInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) } @@ -4497,7 +4616,7 @@ type ListConfigurationHistoryOutput struct { // When the results of a ListConfigurationHistory request exceed MaxResults, // this value can be used to retrieve the next page of results. This value is // null when there are no more results to return. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` } // String returns the string representation @@ -4530,7 +4649,7 @@ type ListLogPatternSetsInput struct { MaxResults *int64 `min:"1" type:"integer"` // The token to request the next page of results. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` // The name of the resource group. // @@ -4554,6 +4673,9 @@ func (s *ListLogPatternSetsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } @@ -4593,7 +4715,7 @@ type ListLogPatternSetsOutput struct { // The token used to retrieve the next page of results. This value is null when // there are no more results to return. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` // The name of the resource group. ResourceGroupName *string `min:"1" type:"string"` @@ -4635,7 +4757,7 @@ type ListLogPatternsInput struct { MaxResults *int64 `min:"1" type:"integer"` // The token to request the next page of results. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` // The name of the log pattern set. PatternSetName *string `min:"1" type:"string"` @@ -4662,6 +4784,9 @@ func (s *ListLogPatternsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) } @@ -4710,7 +4835,7 @@ type ListLogPatternsOutput struct { // The token used to retrieve the next page of results. This value is null when // there are no more results to return. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` // The name of the resource group. ResourceGroupName *string `min:"1" type:"string"` @@ -4756,7 +4881,7 @@ type ListProblemsInput struct { MaxResults *int64 `min:"1" type:"integer"` // The token to request the next page of results. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` // The name of the resource group. ResourceGroupName *string `min:"1" type:"string"` @@ -4782,6 +4907,9 @@ func (s *ListProblemsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) } @@ -4827,7 +4955,7 @@ type ListProblemsOutput struct { // The token used to retrieve the next page of results. This value is null when // there are no more results to return. - NextToken *string `type:"string"` + NextToken *string `min:"1" type:"string"` // The list of problems. ProblemList []*Problem `type:"list"` @@ -4926,21 +5054,30 @@ func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput type LogPattern struct { _ struct{} `type:"structure"` - // A regular expression that defines the log pattern. A log pattern can contains - // at many as 50 characters, and it cannot be empty. + // A regular expression that defines the log pattern. A log pattern can contain + // as many as 50 characters, and it cannot be empty. The pattern must be DFA + // compatible. Patterns that utilize forward lookahead or backreference constructions + // are not supported. Pattern *string `min:"1" type:"string"` - // The name of the log pattern. A log pattern name can contains at many as 50 + // The name of the log pattern. A log pattern name can contain as many as 50 // characters, and it cannot be empty. The characters can be Unicode letters, - // digits or one of the following symbols: period, dash, underscore. + // digits, or one of the following symbols: period, dash, underscore. PatternName *string `min:"1" type:"string"` - // The name of the log pattern. A log pattern name can contains at many as 30 + // The name of the log pattern. A log pattern name can contain as many as 30 // characters, and it cannot be empty. The characters can be Unicode letters, - // digits or one of the following symbols: period, dash, underscore. + // digits, or one of the following symbols: period, dash, underscore. PatternSetName *string `min:"1" type:"string"` - // Rank of the log pattern. + // Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns + // are sorted by rank, so we recommend that you set your highest priority patterns + // with the lowest rank. A pattern of rank 1 will be the first to get matched + // to a log line. A pattern of rank 1,000,000 will be last to get matched. When + // you configure custom log patterns from the console, a Low severity pattern + // translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 + // rank. And a High severity pattern translates to a 250,000 rank. Rank values + // less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns. Rank *int64 `type:"integer"` } @@ -5009,6 +5146,18 @@ type Observation struct { // The status of the CodeDeploy deployment, for example SUCCESS or FAILURE. CodeDeployState *string `type:"string"` + // The cause of an EBS CloudWatch event. + EbsCause *string `type:"string"` + + // The type of EBS CloudWatch event, such as createVolume, deleteVolume or attachVolume. + EbsEvent *string `type:"string"` + + // The request ID of an EBS CloudWatch event. + EbsRequestId *string `type:"string"` + + // The result of an EBS CloudWatch event, such as failed or succeeded. + EbsResult *string `type:"string"` + // The state of the instance, such as STOPPING or TERMINATING. Ec2State *string `type:"string"` @@ -5053,6 +5202,15 @@ type Observation struct { // The namespace of the observation metric. MetricNamespace *string `type:"string"` + // The category of an RDS event. + RdsEventCategories *string `type:"string"` + + // The message of an RDS event. + RdsEventMessage *string `type:"string"` + + // The name of the S3 CloudWatch Event-based observation. + S3EventName *string `type:"string"` + // The source resource ARN of the observation. SourceARN *string `type:"string"` @@ -5062,6 +5220,18 @@ type Observation struct { // The time when the observation was first detected, in epoch seconds. StartTime *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of the step function-based observation. + StatesArn *string `type:"string"` + + // The Amazon Resource Name (ARN) of the step function execution-based observation. + StatesExecutionArn *string `type:"string"` + + // The input to the step function-based observation. + StatesInput *string `type:"string"` + + // The status of the step function-related observation. + StatesStatus *string `type:"string"` + // The unit of the source observation metric. Unit *string `type:"string"` @@ -5148,6 +5318,30 @@ func (s *Observation) SetCodeDeployState(v string) *Observation { return s } +// SetEbsCause sets the EbsCause field's value. +func (s *Observation) SetEbsCause(v string) *Observation { + s.EbsCause = &v + return s +} + +// SetEbsEvent sets the EbsEvent field's value. +func (s *Observation) SetEbsEvent(v string) *Observation { + s.EbsEvent = &v + return s +} + +// SetEbsRequestId sets the EbsRequestId field's value. +func (s *Observation) SetEbsRequestId(v string) *Observation { + s.EbsRequestId = &v + return s +} + +// SetEbsResult sets the EbsResult field's value. +func (s *Observation) SetEbsResult(v string) *Observation { + s.EbsResult = &v + return s +} + // SetEc2State sets the Ec2State field's value. func (s *Observation) SetEc2State(v string) *Observation { s.Ec2State = &v @@ -5232,6 +5426,24 @@ func (s *Observation) SetMetricNamespace(v string) *Observation { return s } +// SetRdsEventCategories sets the RdsEventCategories field's value. +func (s *Observation) SetRdsEventCategories(v string) *Observation { + s.RdsEventCategories = &v + return s +} + +// SetRdsEventMessage sets the RdsEventMessage field's value. +func (s *Observation) SetRdsEventMessage(v string) *Observation { + s.RdsEventMessage = &v + return s +} + +// SetS3EventName sets the S3EventName field's value. +func (s *Observation) SetS3EventName(v string) *Observation { + s.S3EventName = &v + return s +} + // SetSourceARN sets the SourceARN field's value. func (s *Observation) SetSourceARN(v string) *Observation { s.SourceARN = &v @@ -5250,6 +5462,30 @@ func (s *Observation) SetStartTime(v time.Time) *Observation { return s } +// SetStatesArn sets the StatesArn field's value. +func (s *Observation) SetStatesArn(v string) *Observation { + s.StatesArn = &v + return s +} + +// SetStatesExecutionArn sets the StatesExecutionArn field's value. +func (s *Observation) SetStatesExecutionArn(v string) *Observation { + s.StatesExecutionArn = &v + return s +} + +// SetStatesInput sets the StatesInput field's value. +func (s *Observation) SetStatesInput(v string) *Observation { + s.StatesInput = &v + return s +} + +// SetStatesStatus sets the StatesStatus field's value. +func (s *Observation) SetStatesStatus(v string) *Observation { + s.StatesStatus = &v + return s +} + // SetUnit sets the Unit field's value. func (s *Observation) SetUnit(v string) *Observation { s.Unit = &v @@ -6017,7 +6253,7 @@ type UpdateComponentConfigurationInput struct { // The name of the component. // // ComponentName is a required field - ComponentName *string `type:"string" required:"true"` + ComponentName *string `min:"1" type:"string" required:"true"` // Indicates whether the application component is monitored. Monitor *bool `type:"boolean"` @@ -6051,6 +6287,9 @@ func (s *UpdateComponentConfigurationInput) Validate() error { if s.ComponentName == nil { invalidParams.Add(request.NewErrParamRequired("ComponentName")) } + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } @@ -6117,10 +6356,10 @@ type UpdateComponentInput struct { // The name of the component. // // ComponentName is a required field - ComponentName *string `type:"string" required:"true"` + ComponentName *string `min:"1" type:"string" required:"true"` // The new name of the component. - NewComponentName *string `type:"string"` + NewComponentName *string `min:"1" type:"string"` // The name of the resource group. // @@ -6147,6 +6386,12 @@ func (s *UpdateComponentInput) Validate() error { if s.ComponentName == nil { invalidParams.Add(request.NewErrParamRequired("ComponentName")) } + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.NewComponentName != nil && len(*s.NewComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NewComponentName", 1)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } @@ -6201,7 +6446,8 @@ func (s UpdateComponentOutput) GoString() string { type UpdateLogPatternInput struct { _ struct{} `type:"structure"` - // The log pattern. + // The log pattern. The pattern must be DFA compatible. Patterns that utilize + // forward lookahead or backreference constructions are not supported. Pattern *string `min:"1" type:"string"` // The name of the log pattern. @@ -6214,7 +6460,14 @@ type UpdateLogPatternInput struct { // PatternSetName is a required field PatternSetName *string `min:"1" type:"string" required:"true"` - // Rank of the log pattern. + // Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns + // are sorted by rank, so we recommend that you set your highest priority patterns + // with the lowest rank. A pattern of rank 1 will be the first to get matched + // to a log line. A pattern of rank 1,000,000 will be last to get matched. When + // you configure custom log patterns from the console, a Low severity pattern + // translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 + // rank. And a High severity pattern translates to a 250,000 rank. Rank values + // less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns. Rank *int64 `type:"integer"` // The name of the resource group. @@ -6391,6 +6644,9 @@ const ( // CloudWatchEventSourceHealth is a CloudWatchEventSource enum value CloudWatchEventSourceHealth = "HEALTH" + + // CloudWatchEventSourceRds is a CloudWatchEventSource enum value + CloudWatchEventSourceRds = "RDS" ) // CloudWatchEventSource_Values returns all elements of the CloudWatchEventSource enum @@ -6399,6 +6655,7 @@ func CloudWatchEventSource_Values() []string { CloudWatchEventSourceEc2, CloudWatchEventSourceCodeDeploy, CloudWatchEventSourceHealth, + CloudWatchEventSourceRds, } } @@ -6406,6 +6663,9 @@ const ( // ConfigurationEventResourceTypeCloudwatchAlarm is a ConfigurationEventResourceType enum value ConfigurationEventResourceTypeCloudwatchAlarm = "CLOUDWATCH_ALARM" + // ConfigurationEventResourceTypeCloudwatchLog is a ConfigurationEventResourceType enum value + ConfigurationEventResourceTypeCloudwatchLog = "CLOUDWATCH_LOG" + // ConfigurationEventResourceTypeCloudformation is a ConfigurationEventResourceType enum value ConfigurationEventResourceTypeCloudformation = "CLOUDFORMATION" @@ -6417,6 +6677,7 @@ const ( func ConfigurationEventResourceType_Values() []string { return []string{ ConfigurationEventResourceTypeCloudwatchAlarm, + ConfigurationEventResourceTypeCloudwatchLog, ConfigurationEventResourceTypeCloudformation, ConfigurationEventResourceTypeSsmAssociation, } @@ -6494,6 +6755,22 @@ func LogFilter_Values() []string { } } +const ( + // OsTypeWindows is a OsType enum value + OsTypeWindows = "WINDOWS" + + // OsTypeLinux is a OsType enum value + OsTypeLinux = "LINUX" +) + +// OsType_Values returns all elements of the OsType enum +func OsType_Values() []string { + return []string{ + OsTypeWindows, + OsTypeLinux, + } +} + const ( // SeverityLevelLow is a SeverityLevel enum value SeverityLevelLow = "Low" @@ -6535,6 +6812,9 @@ func Status_Values() []string { } const ( + // TierCustom is a Tier enum value + TierCustom = "CUSTOM" + // TierDefault is a Tier enum value TierDefault = "DEFAULT" @@ -6544,20 +6824,45 @@ const ( // TierDotNetWorker is a Tier enum value TierDotNetWorker = "DOT_NET_WORKER" + // TierDotNetWebTier is a Tier enum value + TierDotNetWebTier = "DOT_NET_WEB_TIER" + // TierDotNetWeb is a Tier enum value TierDotNetWeb = "DOT_NET_WEB" // TierSqlServer is a Tier enum value TierSqlServer = "SQL_SERVER" + + // TierSqlServerAlwaysonAvailabilityGroup is a Tier enum value + TierSqlServerAlwaysonAvailabilityGroup = "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP" + + // TierMysql is a Tier enum value + TierMysql = "MYSQL" + + // TierPostgresql is a Tier enum value + TierPostgresql = "POSTGRESQL" + + // TierJavaJmx is a Tier enum value + TierJavaJmx = "JAVA_JMX" + + // TierOracle is a Tier enum value + TierOracle = "ORACLE" ) // Tier_Values returns all elements of the Tier enum func Tier_Values() []string { return []string{ + TierCustom, TierDefault, TierDotNetCore, TierDotNetWorker, + TierDotNetWebTier, TierDotNetWeb, TierSqlServer, + TierSqlServerAlwaysonAvailabilityGroup, + TierMysql, + TierPostgresql, + TierJavaJmx, + TierOracle, } } diff --git a/service/applicationinsights/doc.go b/service/applicationinsights/doc.go index 70f426d54c..632888ca30 100644 --- a/service/applicationinsights/doc.go +++ b/service/applicationinsights/doc.go @@ -3,20 +3,20 @@ // Package applicationinsights provides the client and types for making API // requests to Amazon CloudWatch Application Insights. // -// Amazon CloudWatch Application Insights for .NET and SQL Server is a service -// that helps you detect common problems with your .NET and SQL Server-based -// applications. It enables you to pinpoint the source of issues in your applications -// (built with technologies such as Microsoft IIS, .NET, and Microsoft SQL Server), -// by providing key insights into detected problems. -// -// After you onboard your application, CloudWatch Application Insights for .NET -// and SQL Server identifies, recommends, and sets up metrics and logs. It continuously -// analyzes and correlates your metrics and logs for unusual behavior to surface -// actionable problems with your application. For example, if your application -// is slow and unresponsive and leading to HTTP 500 errors in your Application -// Load Balancer (ALB), Application Insights informs you that a memory pressure -// problem with your SQL Server database is occurring. It bases this analysis -// on impactful metrics and log errors. +// Amazon CloudWatch Application Insights is a service that helps you detect +// common problems with your applications. It enables you to pinpoint the source +// of issues in your applications (built with technologies such as Microsoft +// IIS, .NET, and Microsoft SQL Server), by providing key insights into detected +// problems. +// +// After you onboard your application, CloudWatch Application Insights identifies, +// recommends, and sets up metrics and logs. It continuously analyzes and correlates +// your metrics and logs for unusual behavior to surface actionable problems +// with your application. For example, if your application is slow and unresponsive +// and leading to HTTP 500 errors in your Application Load Balancer (ALB), Application +// Insights informs you that a memory pressure problem with your SQL Server +// database is occurring. It bases this analysis on impactful metrics and log +// errors. // // See https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25 for more information on this service. // diff --git a/service/applicationinsights/errors.go b/service/applicationinsights/errors.go index e78ba6a604..0923a7ce6b 100644 --- a/service/applicationinsights/errors.go +++ b/service/applicationinsights/errors.go @@ -8,6 +8,12 @@ import ( const ( + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // User does not have permissions to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeBadRequestException for service response error code // "BadRequestException". // @@ -53,6 +59,7 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, "BadRequestException": newErrorBadRequestException, "InternalServerException": newErrorInternalServerException, "ResourceInUseException": newErrorResourceInUseException, diff --git a/service/autoscaling/api.go b/service/autoscaling/api.go index 81924da740..b9257cfcc2 100644 --- a/service/autoscaling/api.go +++ b/service/autoscaling/api.go @@ -158,14 +158,22 @@ func (c *AutoScaling) AttachLoadBalancerTargetGroupsRequest(input *AttachLoadBal // // Attaches one or more target groups to the specified Auto Scaling group. // +// This operation is used with the following load balancer types: +// +// * Application Load Balancer - Operates at the application layer (layer +// 7) and supports HTTP and HTTPS. +// +// * Network Load Balancer - Operates at the transport layer (layer 4) and +// supports TCP, TLS, and UDP. +// +// * Gateway Load Balancer - Operates at the network layer (layer 3). +// // To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups // API. To detach the target group from the Auto Scaling group, call the DetachLoadBalancerTargetGroups // API. // -// With Application Load Balancers and Network Load Balancers, instances are -// registered as targets with a target group. With Classic Load Balancers, instances -// are registered with the load balancer. For more information, see Attaching -// a load balancer to your Auto Scaling group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html) +// For more information, see Elastic Load Balancing and Amazon EC2 Auto Scaling +// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -251,8 +259,8 @@ func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput // AttachLoadBalancers API operation for Auto Scaling. // // -// To attach an Application Load Balancer or a Network Load Balancer, use the -// AttachLoadBalancerTargetGroups API operation instead. +// To attach an Application Load Balancer, Network Load Balancer, or Gateway +// Load Balancer, use the AttachLoadBalancerTargetGroups API operation instead. // // Attaches one or more Classic Load Balancers to the specified Auto Scaling // group. Amazon EC2 Auto Scaling registers the running instances with these @@ -262,8 +270,8 @@ func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput // API. To detach the load balancer from the Auto Scaling group, call the DetachLoadBalancers // API. // -// For more information, see Attaching a load balancer to your Auto Scaling -// group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html) +// For more information, see Elastic Load Balancing and Amazon EC2 Auto Scaling +// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2672,8 +2680,8 @@ func (c *AutoScaling) DescribeLoadBalancersRequest(input *DescribeLoadBalancersI // Describes the load balancers for the specified Auto Scaling group. // // This operation describes only Classic Load Balancers. If you have Application -// Load Balancers or Network Load Balancers, use the DescribeLoadBalancerTargetGroups -// API instead. +// Load Balancers, Network Load Balancers, or Gateway Load Balancers, use the +// DescribeLoadBalancerTargetGroups API instead. // // 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 @@ -3905,8 +3913,8 @@ func (c *AutoScaling) DetachLoadBalancersRequest(input *DetachLoadBalancersInput // group. // // This operation detaches only Classic Load Balancers. If you have Application -// Load Balancers or Network Load Balancers, use the DetachLoadBalancerTargetGroups -// API instead. +// Load Balancers, Network Load Balancers, or Gateway Load Balancers, use the +// DetachLoadBalancerTargetGroups API instead. // // When you detach a load balancer, it enters the Removing state while deregistering // the instances in the group. When all instances are deregistered, then you @@ -5921,7 +5929,9 @@ type AttachLoadBalancerTargetGroupsInput struct { AutoScalingGroupName *string `min:"1" type:"string" required:"true"` // The Amazon Resource Names (ARN) of the target groups. You can specify up - // to 10 target groups. + // to 10 target groups. To get the ARN of a target group, use the Elastic Load + // Balancing DescribeTargetGroups (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) + // API operation. // // TargetGroupARNs is a required field TargetGroupARNs []*string `type:"list" required:"true"` @@ -6580,8 +6590,8 @@ type CreateAutoScalingGroupInput struct { LifecycleHookSpecificationList []*LifecycleHookSpecification `type:"list"` // A list of Classic Load Balancers associated with this Auto Scaling group. - // For Application Load Balancers and Network Load Balancers, specify TargetGroupARNs - // instead. + // For Application Load Balancers, Network Load Balancers, and Gateway Load + // Balancers, specify the TargetGroupARNs property instead. LoadBalancerNames []*string `type:"list"` // The maximum amount of time, in seconds, that an instance can be in service. @@ -6620,10 +6630,6 @@ type CreateAutoScalingGroupInput struct { // individual instance types. For more information, see Auto Scaling groups // with multiple instance types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) // in the Amazon EC2 Auto Scaling User Guide. - // - // Conditional: You must specify either a launch template (LaunchTemplate or - // MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName - // or InstanceId). MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` // Indicates whether newly launched instances are protected from termination @@ -7054,7 +7060,7 @@ type CreateLaunchConfigurationInput struct { // VPCZoneIdentifier when you create your group. // // For more information, see Configuring instance tenancy with Amazon EC2 Auto - // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling/ec2/userguide/auto-scaling-dedicated-instances.html) + // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-dedicated-instances.html) // in the Amazon EC2 Auto Scaling User Guide. // // Valid Values: default | dedicated @@ -11104,26 +11110,25 @@ type InstancesDistribution struct { OnDemandPercentageAboveBaseCapacity *int64 `type:"integer"` // Indicates how to allocate instances across Spot Instance pools. If the allocation - // strategy is lowest-price, the Auto Scaling group launches instances using - // the Spot pools with the lowest price, and evenly allocates your instances - // across the number of Spot pools that you specify. If the allocation strategy - // is capacity-optimized, the Auto Scaling group launches instances using Spot - // pools that are optimally chosen based on the available Spot capacity. Defaults - // to lowest-price if not specified. + // strategy is capacity-optimized (recommended), the Auto Scaling group launches + // instances using Spot pools that are optimally chosen based on the available + // Spot capacity. If the allocation strategy is lowest-price, the Auto Scaling + // group launches instances using the Spot pools with the lowest price, and + // evenly allocates your instances across the number of Spot pools that you + // specify. Defaults to lowest-price if not specified. SpotAllocationStrategy *string `type:"string"` // The number of Spot Instance pools across which to allocate your Spot Instances. // The Spot pools are determined from the different instance types in the overrides. - // Defaults to 2 if not specified. Valid only when the Spot allocation strategy - // is lowest-price. - // - // Valid Range: Minimum value of 1. Maximum value of 20. + // Valid only when the Spot allocation strategy is lowest-price. Value must + // be in the range of 1 to 20. Defaults to 2 if not specified. SpotInstancePools *int64 `type:"integer"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. - // If you leave the value of this parameter blank (which is the default), the - // maximum Spot price is set at the On-Demand price. To remove a value that - // you previously set, include the parameter but leave the value blank. + // If you leave the value at its default (empty), Amazon EC2 Auto Scaling uses + // the On-Demand price as the maximum Spot price. To remove a value that you + // previously set, include the property but specify an empty string ("") for + // the value. SpotMaxPrice *string `type:"string"` } @@ -11526,9 +11531,8 @@ type LaunchTemplateOverrides struct { // of 5 units, the instance is provisioned, and the desired capacity is exceeded // by 3 units. For more information, see Instance weighting for Amazon EC2 Auto // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html) - // in the Amazon EC2 Auto Scaling User Guide. - // - // Valid Range: Minimum value of 1. Maximum value of 999. + // in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of + // 1 to 999. WeightedCapacity *string `min:"1" type:"string"` } @@ -11595,14 +11599,18 @@ type LaunchTemplateSpecification struct { // DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html) // API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) - // API. You must specify either a LaunchTemplateId or a LaunchTemplateName. + // API. + // + // Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName. LaunchTemplateId *string `min:"1" type:"string"` // The name of the launch template. To get the template name, use the Amazon // EC2 DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html) // API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) - // API. You must specify either a LaunchTemplateId or a LaunchTemplateName. + // API. + // + // Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName. LaunchTemplateName *string `min:"3" type:"string"` // The version number, $Latest, or $Default. To get the version number, use diff --git a/service/codeartifact/api.go b/service/codeartifact/api.go index acd347338c..26321dbce7 100644 --- a/service/codeartifact/api.go +++ b/service/codeartifact/api.go @@ -1886,6 +1886,8 @@ func (c *CodeArtifact) GetRepositoryEndpointRequest(input *GetRepositoryEndpoint // // * maven // +// * nuget +// // 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. @@ -3855,6 +3857,8 @@ type AssociateExternalConnectionInput struct { // // * public:maven-commonsware - for the CommonsWare Android repository. // + // * public:nuget-org - for the NuGet Gallery. + // // ExternalConnection is a required field ExternalConnection *string `location:"querystring" locationName:"external-connection" type:"string" required:"true"` @@ -4043,6 +4047,8 @@ type CopyPackageVersionsInput struct { // * maven: A Maven package that contains compiled code in a distributable // format, such as a JAR file. // + // * nuget: A NuGet package. + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -4060,6 +4066,9 @@ type CopyPackageVersionsInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package that is copied. @@ -4705,6 +4714,8 @@ type DeletePackageVersionsInput struct { // // * maven // + // * nuget + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -4717,6 +4728,9 @@ type DeletePackageVersionsInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package with the versions to delete. @@ -5182,6 +5196,8 @@ type DescribePackageVersionInput struct { // // * maven // + // * nuget + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -5194,6 +5210,9 @@ type DescribePackageVersionInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the requested package version. @@ -5570,6 +5589,8 @@ type DisposePackageVersionsInput struct { // // * maven // + // * nuget + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -5582,6 +5603,9 @@ type DisposePackageVersionsInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package with the versions you want to dispose. @@ -6134,6 +6158,8 @@ type GetPackageVersionAssetInput struct { // // * maven // + // * nuget + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -6146,6 +6172,9 @@ type GetPackageVersionAssetInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package that contains the requested asset. @@ -6355,6 +6384,8 @@ type GetPackageVersionReadmeInput struct { // // * maven // + // * nuget + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -6367,6 +6398,9 @@ type GetPackageVersionReadmeInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package version that contains the requested readme file. @@ -6491,6 +6525,8 @@ type GetPackageVersionReadmeOutput struct { // * pypi // // * maven + // + // * nuget Format *string `locationName:"format" type:"string" enum:"PackageFormat"` // The namespace of the package. The package component that specifies its namespace @@ -6502,6 +6538,9 @@ type GetPackageVersionReadmeOutput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The name of the package that contains the returned readme file. @@ -6584,6 +6623,8 @@ type GetRepositoryEndpointInput struct { // // * maven // + // * nuget + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -6969,6 +7010,8 @@ type ListPackageVersionAssetsInput struct { // * maven: A Maven package that contains compiled code in a distributable // format, such as a JAR file. // + // * nuget: A NuGet package. + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -6984,6 +7027,9 @@ type ListPackageVersionAssetsInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous @@ -7139,6 +7185,9 @@ type ListPackageVersionAssetsOutput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // If there are additional results, this is the token for the next set of results. @@ -7229,6 +7278,8 @@ type ListPackageVersionDependenciesInput struct { // * maven: A Maven package that contains compiled code in a distributable // format, such as a JAR file. // + // * nuget: A NuGet package. + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -7241,6 +7292,9 @@ type ListPackageVersionDependenciesInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous @@ -7382,6 +7436,8 @@ type ListPackageVersionDependenciesOutput struct { // * pypi // // * maven + // + // * nuget Format *string `locationName:"format" type:"string" enum:"PackageFormat"` // The namespace of the package. The package component that specifies its namespace @@ -7393,6 +7449,9 @@ type ListPackageVersionDependenciesOutput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous @@ -7483,6 +7542,8 @@ type ListPackageVersionsInput struct { // * maven: A Maven package that contains compiled code in a distributable // format, such as a JAR file. // + // * nuget: A NuGet package. + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -7498,6 +7559,9 @@ type ListPackageVersionsInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous @@ -7664,6 +7728,8 @@ type ListPackageVersionsOutput struct { // * pypi // // * maven + // + // * nuget Format *string `locationName:"format" type:"string" enum:"PackageFormat"` // The namespace of the package. The package component that specifies its namespace @@ -7675,6 +7741,9 @@ type ListPackageVersionsOutput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // If there are additional results, this is the token for the next set of results. @@ -7755,6 +7824,8 @@ type ListPackagesInput struct { // // * maven: A Maven package that contains compiled code in a distributable // format, such as a JAR file. + // + // * nuget: A NuGet package. Format *string `location:"querystring" locationName:"format" type:"string" enum:"PackageFormat"` // The maximum number of results to return per page. @@ -7769,14 +7840,17 @@ type ListPackagesInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The token for the next set of results. Use the value returned in the previous // response in the next request to retrieve the next set of results. NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"` - // A prefix used to filter returned repositories. Only repositories with names - // that start with repositoryPrefix are returned. + // A prefix used to filter returned packages. Only packages with names that + // start with packagePrefix are returned. PackagePrefix *string `location:"querystring" locationName:"package-prefix" min:"1" type:"string"` // The name of the repository from which packages are to be listed. @@ -8227,6 +8301,9 @@ type PackageDependency struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The name of the package that this package depends on. @@ -8285,6 +8362,8 @@ type PackageSummary struct { // * pypi // // * maven + // + // * nuget Format *string `locationName:"format" type:"string" enum:"PackageFormat"` // The namespace of the package. The package component that specifies its namespace @@ -8296,6 +8375,9 @@ type PackageSummary struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The name of the package. @@ -8348,6 +8430,8 @@ type PackageVersionDescription struct { // // * maven: A Maven package that contains compiled code in a distributable // format, such as a JAR file. + // + // * nuget: A NuGet package. Format *string `locationName:"format" type:"string" enum:"PackageFormat"` // The homepage associated with the package. @@ -8365,6 +8449,9 @@ type PackageVersionDescription struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `locationName:"namespace" min:"1" type:"string"` // The name of the requested package. @@ -8937,6 +9024,8 @@ type RepositoryExternalConnectionInfo struct { // // * maven: A Maven package that contains compiled code in a distributable // format, such as a JAR file. + // + // * nuget: A NuGet package. PackageFormat *string `locationName:"packageFormat" type:"string" enum:"PackageFormat"` // The status of the external connection of a repository. There is one valid @@ -9261,12 +9350,12 @@ func (s *SuccessfulPackageVersionInfo) SetStatus(v string) *SuccessfulPackageVer type Tag struct { _ struct{} `type:"structure"` - // The tag's key. + // The tag key. // // Key is a required field Key *string `locationName:"key" min:"1" type:"string" required:"true"` - // The tag's value. + // The tag value. // // Value is a required field Value *string `locationName:"value" type:"string" required:"true"` @@ -9316,8 +9405,8 @@ func (s *Tag) SetValue(v string) *Tag { type TagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource to which you want to add or - // update tags. + // The Amazon Resource Name (ARN) of the resource that you want to add or update + // tags for. // // ResourceArn is a required field ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"` @@ -9455,8 +9544,8 @@ func (s *ThrottlingException) RequestID() string { type UntagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource to which you want to remove - // tags. + // The Amazon Resource Name (ARN) of the resource that you want to remove tags + // from. // // ResourceArn is a required field ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"` @@ -9549,6 +9638,8 @@ type UpdatePackageVersionsStatusInput struct { // // * maven // + // * nuget + // // Format is a required field Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"PackageFormat"` @@ -9561,6 +9652,9 @@ type UpdatePackageVersionsStatusInput struct { // // * A Python package does not contain a corresponding component, so Python // packages do not have a namespace. + // + // * A NuGet package does not contain a corresponding component, so NuGet + // packages do not have a namespace. Namespace *string `location:"querystring" locationName:"namespace" min:"1" type:"string"` // The name of the package with the version statuses to update. @@ -10051,6 +10145,9 @@ const ( // PackageFormatMaven is a PackageFormat enum value PackageFormatMaven = "maven" + + // PackageFormatNuget is a PackageFormat enum value + PackageFormatNuget = "nuget" ) // PackageFormat_Values returns all elements of the PackageFormat enum @@ -10059,6 +10156,7 @@ func PackageFormat_Values() []string { PackageFormatNpm, PackageFormatPypi, PackageFormatMaven, + PackageFormatNuget, } } diff --git a/service/codeartifact/doc.go b/service/codeartifact/doc.go index b76476db36..7de0782e18 100644 --- a/service/codeartifact/doc.go +++ b/service/codeartifact/doc.go @@ -4,10 +4,10 @@ // requests to CodeArtifact. // // AWS CodeArtifact is a fully managed artifact repository compatible with language-native -// package managers and build tools such as npm, Apache Maven, and pip. You -// can use CodeArtifact to share packages with development teams and pull packages. -// Packages can be pulled from both public and CodeArtifact repositories. You -// can also create an upstream relationship between a CodeArtifact repository +// package managers and build tools such as npm, Apache Maven, NuGet, and pip. +// You can use CodeArtifact to share packages with development teams and pull +// packages. Packages can be pulled from both public and CodeArtifact repositories. +// You can also create an upstream relationship between a CodeArtifact repository // and another repository, which effectively merges their contents from the // point of view of a package manager client. // @@ -21,7 +21,7 @@ // each of which maps to a set of assets, or files. Repositories are polyglot, // so a single repository can contain packages of any supported type. Each // repository exposes endpoints for fetching and publishing packages using -// tools like the npm CLI, the Maven CLI ( mvn ), and pip . +// tools like the npm CLI, the NuGet CLI, the Maven CLI ( mvn ), and pip . // // * Domain: Repositories are aggregated into a higher-level entity known // as a domain. All package assets and metadata are stored in the domain, @@ -41,7 +41,8 @@ // to resolve dependencies and install the software. CodeArtifact supports // npm (https://docs.aws.amazon.com/codeartifact/latest/ug/using-npm.html), // PyPI (https://docs.aws.amazon.com/codeartifact/latest/ug/using-python.html), -// and Maven (https://docs.aws.amazon.com/codeartifact/latest/ug/using-maven) +// Maven (https://docs.aws.amazon.com/codeartifact/latest/ug/using-maven), +// and NuGet (https://docs.aws.amazon.com/codeartifact/latest/ug/using-nuget) // package formats. In CodeArtifact, a package consists of: A name (for example, // webpack is the name of a popular npm package) An optional namespace (for // example, @types in @types/node) A set of versions (for example, 1.0.0, @@ -122,7 +123,7 @@ // // * GetRepositoryEndpoint: Returns the endpoint of a repository for a specific // package format. A repository has one endpoint for each package format: -// npm pypi maven +// npm pypi maven nuget // // * GetRepositoryPermissionsPolicy: Returns the resource policy that is // set on a repository. @@ -145,11 +146,17 @@ // // * ListRepositoriesInDomain: Returns a list of the repositories in a domain. // +// * ListTagsForResource: Returns a list of the tags associated with a resource. +// // * PutDomainPermissionsPolicy: Attaches a resource policy to a domain. // // * PutRepositoryPermissionsPolicy: Sets the resource policy on a repository // that specifies permissions to access it. // +// * TagResource: Adds or updates tags for a resource. +// +// * UntagResource: Removes a tag from a resource. +// // * UpdatePackageVersionsStatus: Updates the status of one or more versions // of a package. // diff --git a/service/codestarconnections/api.go b/service/codestarconnections/api.go index 0e2fd98770..c113003d83 100644 --- a/service/codestarconnections/api.go +++ b/service/codestarconnections/api.go @@ -493,6 +493,9 @@ func (c *CodeStarConnections) GetHostRequest(input *GetHostInput) (req *request. // * ResourceNotFoundException // Resource not found. Verify the connection resource ARN and try again. // +// * ResourceUnavailableException +// Resource not found. Verify the ARN for the host resource and try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetHost func (c *CodeStarConnections) GetHost(input *GetHostInput) (*GetHostOutput, error) { req, out := c.GetHostRequest(input) @@ -1022,6 +1025,151 @@ func (c *CodeStarConnections) UntagResourceWithContext(ctx aws.Context, input *U return out, req.Send() } +const opUpdateHost = "UpdateHost" + +// UpdateHostRequest generates a "aws/request.Request" representing the +// client's request for the UpdateHost 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 UpdateHost for more information on using the UpdateHost +// 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 UpdateHostRequest method. +// req, resp := client.UpdateHostRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateHost +func (c *CodeStarConnections) UpdateHostRequest(input *UpdateHostInput) (req *request.Request, output *UpdateHostOutput) { + op := &request.Operation{ + Name: opUpdateHost, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateHostInput{} + } + + output = &UpdateHostOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateHost API operation for AWS CodeStar connections. +// +// Updates a specified host with the provided configurations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation UpdateHost for usage and error information. +// +// Returned Error Types: +// * ConflictException +// Two conflicting operations have been made on the same resource. +// +// * ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// * ResourceUnavailableException +// Resource not found. Verify the ARN for the host resource and try again. +// +// * UnsupportedOperationException +// The operation is not supported. Check the connection status and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateHost +func (c *CodeStarConnections) UpdateHost(input *UpdateHostInput) (*UpdateHostOutput, error) { + req, out := c.UpdateHostRequest(input) + return out, req.Send() +} + +// UpdateHostWithContext is the same as UpdateHost with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateHost 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 *CodeStarConnections) UpdateHostWithContext(ctx aws.Context, input *UpdateHostInput, opts ...request.Option) (*UpdateHostOutput, error) { + req, out := c.UpdateHostRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Two conflicting operations have been made on the same resource. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + // A resource that is used to connect third-party source providers with services // like AWS CodePipeline. // @@ -1053,7 +1201,7 @@ type Connection struct { OwnerAccountId *string `min:"12" type:"string"` // The name of the external provider where your third-party code repository - // is configured. The valid provider type is Bitbucket. + // is configured. ProviderType *string `type:"string" enum:"ProviderType"` } @@ -1117,7 +1265,7 @@ type CreateConnectionInput struct { HostArn *string `type:"string"` // The name of the external provider where your third-party code repository - // is configured. The valid provider type is Bitbucket. + // is configured. ProviderType *string `type:"string" enum:"ProviderType"` // The key-value pair to use when tagging the resource. @@ -2242,6 +2390,62 @@ func (s TagResourceOutput) GoString() string { return s.String() } +// The operation is not supported. Check the connection status and try again. +type UnsupportedOperationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s UnsupportedOperationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UnsupportedOperationException) GoString() string { + return s.String() +} + +func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error { + return &UnsupportedOperationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnsupportedOperationException) Code() string { + return "UnsupportedOperationException" +} + +// Message returns the exception's message. +func (s *UnsupportedOperationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnsupportedOperationException) OrigErr() error { + return nil +} + +func (s *UnsupportedOperationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *UnsupportedOperationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnsupportedOperationException) RequestID() string { + return s.RespMetadata.RequestID +} + type UntagResourceInput struct { _ struct{} `type:"structure"` @@ -2311,6 +2515,86 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateHostInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the host to be updated. + // + // HostArn is a required field + HostArn *string `type:"string" required:"true"` + + // The URL or endpoint of the host to be updated. + ProviderEndpoint *string `min:"1" type:"string"` + + // The VPC configuration of the host to be updated. A VPC must be configured + // and the infrastructure to be represented by the host must already be connected + // to the VPC. + VpcConfiguration *VpcConfiguration `type:"structure"` +} + +// String returns the string representation +func (s UpdateHostInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateHostInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateHostInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateHostInput"} + if s.HostArn == nil { + invalidParams.Add(request.NewErrParamRequired("HostArn")) + } + if s.ProviderEndpoint != nil && len(*s.ProviderEndpoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProviderEndpoint", 1)) + } + if s.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHostArn sets the HostArn field's value. +func (s *UpdateHostInput) SetHostArn(v string) *UpdateHostInput { + s.HostArn = &v + return s +} + +// SetProviderEndpoint sets the ProviderEndpoint field's value. +func (s *UpdateHostInput) SetProviderEndpoint(v string) *UpdateHostInput { + s.ProviderEndpoint = &v + return s +} + +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *UpdateHostInput) SetVpcConfiguration(v *VpcConfiguration) *UpdateHostInput { + s.VpcConfiguration = v + return s +} + +type UpdateHostOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateHostOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateHostOutput) GoString() string { + return s.String() +} + // The VPC configuration provisioned for the host. type VpcConfiguration struct { _ struct{} `type:"structure"` @@ -2335,7 +2619,7 @@ type VpcConfiguration struct { // type is installed. // // VpcId is a required field - VpcId *string `type:"string" required:"true"` + VpcId *string `min:"12" type:"string" required:"true"` } // String returns the string representation @@ -2369,6 +2653,9 @@ func (s *VpcConfiguration) Validate() error { if s.VpcId == nil { invalidParams.Add(request.NewErrParamRequired("VpcId")) } + if s.VpcId != nil && len(*s.VpcId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("VpcId", 12)) + } if invalidParams.Len() > 0 { return invalidParams diff --git a/service/codestarconnections/codestarconnectionsiface/interface.go b/service/codestarconnections/codestarconnectionsiface/interface.go index 1b2e8d6e1d..7cca886521 100644 --- a/service/codestarconnections/codestarconnectionsiface/interface.go +++ b/service/codestarconnections/codestarconnectionsiface/interface.go @@ -109,6 +109,10 @@ type CodeStarConnectionsAPI interface { UntagResource(*codestarconnections.UntagResourceInput) (*codestarconnections.UntagResourceOutput, error) UntagResourceWithContext(aws.Context, *codestarconnections.UntagResourceInput, ...request.Option) (*codestarconnections.UntagResourceOutput, error) UntagResourceRequest(*codestarconnections.UntagResourceInput) (*request.Request, *codestarconnections.UntagResourceOutput) + + UpdateHost(*codestarconnections.UpdateHostInput) (*codestarconnections.UpdateHostOutput, error) + UpdateHostWithContext(aws.Context, *codestarconnections.UpdateHostInput, ...request.Option) (*codestarconnections.UpdateHostOutput, error) + UpdateHostRequest(*codestarconnections.UpdateHostInput) (*request.Request, *codestarconnections.UpdateHostOutput) } var _ CodeStarConnectionsAPI = (*codestarconnections.CodeStarConnections)(nil) diff --git a/service/codestarconnections/doc.go b/service/codestarconnections/doc.go index 6ac1d05181..ae9bd10de9 100644 --- a/service/codestarconnections/doc.go +++ b/service/codestarconnections/doc.go @@ -3,10 +3,6 @@ // Package codestarconnections provides the client and types for making API // requests to AWS CodeStar connections. // -// -// The CodeStar Connections feature is in preview release and is subject to -// change. -// // This AWS CodeStar Connections API Reference provides descriptions and usage // examples of the operations and data types for the AWS CodeStar Connections // API. You can use the connections API to work with connections and installations. @@ -22,7 +18,7 @@ // When you create a connection, the console initiates a third-party connection // handshake. Installations are the apps that are used to conduct this handshake. // For example, the installation for the Bitbucket provider type is the Bitbucket -// Cloud app. When you create a connection, you can choose an existing installation +// app. When you create a connection, you can choose an existing installation // or create one. // // When you want to create a connection to an installed provider type such as diff --git a/service/codestarconnections/errors.go b/service/codestarconnections/errors.go index b38f41b7a6..e29878b602 100644 --- a/service/codestarconnections/errors.go +++ b/service/codestarconnections/errors.go @@ -8,6 +8,12 @@ import ( const ( + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Two conflicting operations have been made on the same resource. + ErrCodeConflictException = "ConflictException" + // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // @@ -25,10 +31,18 @@ const ( // // Resource not found. Verify the ARN for the host resource and try again. ErrCodeResourceUnavailableException = "ResourceUnavailableException" + + // ErrCodeUnsupportedOperationException for service response error code + // "UnsupportedOperationException". + // + // The operation is not supported. Check the connection status and try again. + ErrCodeUnsupportedOperationException = "UnsupportedOperationException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "LimitExceededException": newErrorLimitExceededException, - "ResourceNotFoundException": newErrorResourceNotFoundException, - "ResourceUnavailableException": newErrorResourceUnavailableException, + "ConflictException": newErrorConflictException, + "LimitExceededException": newErrorLimitExceededException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ResourceUnavailableException": newErrorResourceUnavailableException, + "UnsupportedOperationException": newErrorUnsupportedOperationException, } diff --git a/service/dynamodb/api.go b/service/dynamodb/api.go index f988e1fbdb..d536b0954c 100644 --- a/service/dynamodb/api.go +++ b/service/dynamodb/api.go @@ -16,6 +16,91 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opBatchExecuteStatement = "BatchExecuteStatement" + +// BatchExecuteStatementRequest generates a "aws/request.Request" representing the +// client's request for the BatchExecuteStatement 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 BatchExecuteStatement for more information on using the BatchExecuteStatement +// 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 BatchExecuteStatementRequest method. +// req, resp := client.BatchExecuteStatementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchExecuteStatement +func (c *DynamoDB) BatchExecuteStatementRequest(input *BatchExecuteStatementInput) (req *request.Request, output *BatchExecuteStatementOutput) { + op := &request.Operation{ + Name: opBatchExecuteStatement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchExecuteStatementInput{} + } + + output = &BatchExecuteStatementOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchExecuteStatement API operation for Amazon DynamoDB. +// +// This operation allows you to perform batch reads and writes on data stored +// in DynamoDB, using PartiQL. +// +// 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 DynamoDB's +// API operation BatchExecuteStatement for usage and error information. +// +// Returned Error Types: +// * RequestLimitExceeded +// Throughput exceeds the current throughput quota for your account. Please +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a quota increase. +// +// * InternalServerError +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchExecuteStatement +func (c *DynamoDB) BatchExecuteStatement(input *BatchExecuteStatementInput) (*BatchExecuteStatementOutput, error) { + req, out := c.BatchExecuteStatementRequest(input) + return out, req.Send() +} + +// BatchExecuteStatementWithContext is the same as BatchExecuteStatement with the addition of +// the ability to pass a context and additional request options. +// +// See BatchExecuteStatement 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 *DynamoDB) BatchExecuteStatementWithContext(ctx aws.Context, input *BatchExecuteStatementInput, opts ...request.Option) (*BatchExecuteStatementOutput, error) { + req, out := c.BatchExecuteStatementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchGetItem = "BatchGetItem" // BatchGetItemRequest generates a "aws/request.Request" representing the @@ -2094,6 +2179,114 @@ func (c *DynamoDB) DescribeGlobalTableSettingsWithContext(ctx aws.Context, input return out, req.Send() } +const opDescribeKinesisStreamingDestination = "DescribeKinesisStreamingDestination" + +// DescribeKinesisStreamingDestinationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeKinesisStreamingDestination 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 DescribeKinesisStreamingDestination for more information on using the DescribeKinesisStreamingDestination +// 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 DescribeKinesisStreamingDestinationRequest method. +// req, resp := client.DescribeKinesisStreamingDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeKinesisStreamingDestination +func (c *DynamoDB) DescribeKinesisStreamingDestinationRequest(input *DescribeKinesisStreamingDestinationInput) (req *request.Request, output *DescribeKinesisStreamingDestinationOutput) { + op := &request.Operation{ + Name: opDescribeKinesisStreamingDestination, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeKinesisStreamingDestinationInput{} + } + + output = &DescribeKinesisStreamingDestinationOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + if aws.BoolValue(req.Config.EnableEndpointDiscovery) { + de := discovererDescribeEndpoints{ + Required: false, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + } + return +} + +// DescribeKinesisStreamingDestination API operation for Amazon DynamoDB. +// +// Returns information about the status of Kinesis streaming. +// +// 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 DynamoDB's +// API operation DescribeKinesisStreamingDestination for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * InternalServerError +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeKinesisStreamingDestination +func (c *DynamoDB) DescribeKinesisStreamingDestination(input *DescribeKinesisStreamingDestinationInput) (*DescribeKinesisStreamingDestinationOutput, error) { + req, out := c.DescribeKinesisStreamingDestinationRequest(input) + return out, req.Send() +} + +// DescribeKinesisStreamingDestinationWithContext is the same as DescribeKinesisStreamingDestination with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeKinesisStreamingDestination 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 *DynamoDB) DescribeKinesisStreamingDestinationWithContext(ctx aws.Context, input *DescribeKinesisStreamingDestinationInput, opts ...request.Option) (*DescribeKinesisStreamingDestinationOutput, error) { + req, out := c.DescribeKinesisStreamingDestinationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeLimits = "DescribeLimits" // DescribeLimitsRequest generates a "aws/request.Request" representing the @@ -2565,68 +2758,88 @@ func (c *DynamoDB) DescribeTimeToLiveWithContext(ctx aws.Context, input *Describ return out, req.Send() } -const opExportTableToPointInTime = "ExportTableToPointInTime" +const opDisableKinesisStreamingDestination = "DisableKinesisStreamingDestination" -// ExportTableToPointInTimeRequest generates a "aws/request.Request" representing the -// client's request for the ExportTableToPointInTime operation. The "output" return +// DisableKinesisStreamingDestinationRequest generates a "aws/request.Request" representing the +// client's request for the DisableKinesisStreamingDestination 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 ExportTableToPointInTime for more information on using the ExportTableToPointInTime +// See DisableKinesisStreamingDestination for more information on using the DisableKinesisStreamingDestination // 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 ExportTableToPointInTimeRequest method. -// req, resp := client.ExportTableToPointInTimeRequest(params) +// // Example sending a request using the DisableKinesisStreamingDestinationRequest method. +// req, resp := client.DisableKinesisStreamingDestinationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExportTableToPointInTime -func (c *DynamoDB) ExportTableToPointInTimeRequest(input *ExportTableToPointInTimeInput) (req *request.Request, output *ExportTableToPointInTimeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DisableKinesisStreamingDestination +func (c *DynamoDB) DisableKinesisStreamingDestinationRequest(input *DisableKinesisStreamingDestinationInput) (req *request.Request, output *DisableKinesisStreamingDestinationOutput) { op := &request.Operation{ - Name: opExportTableToPointInTime, + Name: opDisableKinesisStreamingDestination, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ExportTableToPointInTimeInput{} + input = &DisableKinesisStreamingDestinationInput{} } - output = &ExportTableToPointInTimeOutput{} + output = &DisableKinesisStreamingDestinationOutput{} req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + if aws.BoolValue(req.Config.EnableEndpointDiscovery) { + de := discovererDescribeEndpoints{ + Required: false, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + } return } -// ExportTableToPointInTime API operation for Amazon DynamoDB. +// DisableKinesisStreamingDestination API operation for Amazon DynamoDB. // -// Exports table data to an S3 bucket. The table must have point in time recovery -// enabled, and you can export data from any time within the point in time recovery -// window. +// Stops replication from the DynamoDB table to the Kinesis data stream. This +// is done without deleting either of the resources. // // 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 DynamoDB's -// API operation ExportTableToPointInTime for usage and error information. +// API operation DisableKinesisStreamingDestination for usage and error information. // // Returned Error Types: -// * TableNotFoundException -// A source table with the name TableName does not currently exist within the -// subscriber's account. -// -// * PointInTimeRecoveryUnavailableException -// Point in time recovery has not yet been enabled for this source table. +// * InternalServerError +// An error occurred on the server side. // // * LimitExceededException // There is no limit to the number of daily on-demand backups that can be taken. @@ -2642,75 +2855,75 @@ func (c *DynamoDB) ExportTableToPointInTimeRequest(input *ExportTableToPointInTi // // There is a soft account quota of 256 tables. // -// * InvalidExportTimeException -// The specified ExportTime is outside of the point in time recovery window. -// -// * ExportConflictException -// There was a conflict when writing to the specified S3 bucket. +// * ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. // -// * InternalServerError -// An error occurred on the server side. +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExportTableToPointInTime -func (c *DynamoDB) ExportTableToPointInTime(input *ExportTableToPointInTimeInput) (*ExportTableToPointInTimeOutput, error) { - req, out := c.ExportTableToPointInTimeRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DisableKinesisStreamingDestination +func (c *DynamoDB) DisableKinesisStreamingDestination(input *DisableKinesisStreamingDestinationInput) (*DisableKinesisStreamingDestinationOutput, error) { + req, out := c.DisableKinesisStreamingDestinationRequest(input) return out, req.Send() } -// ExportTableToPointInTimeWithContext is the same as ExportTableToPointInTime with the addition of +// DisableKinesisStreamingDestinationWithContext is the same as DisableKinesisStreamingDestination with the addition of // the ability to pass a context and additional request options. // -// See ExportTableToPointInTime for details on how to use this API operation. +// See DisableKinesisStreamingDestination 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 *DynamoDB) ExportTableToPointInTimeWithContext(ctx aws.Context, input *ExportTableToPointInTimeInput, opts ...request.Option) (*ExportTableToPointInTimeOutput, error) { - req, out := c.ExportTableToPointInTimeRequest(input) +func (c *DynamoDB) DisableKinesisStreamingDestinationWithContext(ctx aws.Context, input *DisableKinesisStreamingDestinationInput, opts ...request.Option) (*DisableKinesisStreamingDestinationOutput, error) { + req, out := c.DisableKinesisStreamingDestinationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetItem = "GetItem" +const opEnableKinesisStreamingDestination = "EnableKinesisStreamingDestination" -// GetItemRequest generates a "aws/request.Request" representing the -// client's request for the GetItem operation. The "output" return +// EnableKinesisStreamingDestinationRequest generates a "aws/request.Request" representing the +// client's request for the EnableKinesisStreamingDestination 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 GetItem for more information on using the GetItem +// See EnableKinesisStreamingDestination for more information on using the EnableKinesisStreamingDestination // 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 GetItemRequest method. -// req, resp := client.GetItemRequest(params) +// // Example sending a request using the EnableKinesisStreamingDestinationRequest method. +// req, resp := client.EnableKinesisStreamingDestinationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem -func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, output *GetItemOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/EnableKinesisStreamingDestination +func (c *DynamoDB) EnableKinesisStreamingDestinationRequest(input *EnableKinesisStreamingDestinationInput) (req *request.Request, output *EnableKinesisStreamingDestinationOutput) { op := &request.Operation{ - Name: opGetItem, + Name: opEnableKinesisStreamingDestination, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetItemInput{} + input = &EnableKinesisStreamingDestinationInput{} } - output = &GetItemOutput{} + output = &EnableKinesisStreamingDestinationOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -2740,381 +2953,434 @@ func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, ou return } -// GetItem API operation for Amazon DynamoDB. +// EnableKinesisStreamingDestination API operation for Amazon DynamoDB. // -// The GetItem operation returns a set of attributes for the item with the given -// primary key. If there is no matching item, GetItem does not return any data -// and there will be no Item element in the response. -// -// GetItem provides an eventually consistent read by default. If your application -// requires a strongly consistent read, set ConsistentRead to true. Although -// a strongly consistent read might take more time than an eventually consistent -// read, it always returns the last updated value. +// Starts table data replication to the specified Kinesis data stream at a timestamp +// chosen during the enable workflow. If this operation doesn't return results +// immediately, use DescribeKinesisStreamingDestination to check if streaming +// to the Kinesis data stream is ACTIVE. // // 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 DynamoDB's -// API operation GetItem for usage and error information. +// API operation EnableKinesisStreamingDestination for usage and error information. // // Returned Error Types: -// * ProvisionedThroughputExceededException -// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry -// requests that receive this exception. Your request is eventually successful, -// unless your retry queue is too large to finish. Reduce the frequency of requests -// and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) -// in the Amazon DynamoDB Developer Guide. +// * InternalServerError +// An error occurred on the server side. // -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. +// * LimitExceededException +// There is no limit to the number of daily on-demand backups that can be taken. // -// * RequestLimitExceeded -// Throughput exceeds the current throughput quota for your account. Please -// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request -// a quota increase. +// Up to 50 simultaneous table operations are allowed per account. These operations +// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, +// and RestoreTableToPointInTime. // -// * InternalServerError -// An error occurred on the server side. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem -func (c *DynamoDB) GetItem(input *GetItemInput) (*GetItemOutput, error) { - req, out := c.GetItemRequest(input) +// There is a soft account quota of 256 tables. +// +// * ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/EnableKinesisStreamingDestination +func (c *DynamoDB) EnableKinesisStreamingDestination(input *EnableKinesisStreamingDestinationInput) (*EnableKinesisStreamingDestinationOutput, error) { + req, out := c.EnableKinesisStreamingDestinationRequest(input) return out, req.Send() } -// GetItemWithContext is the same as GetItem with the addition of +// EnableKinesisStreamingDestinationWithContext is the same as EnableKinesisStreamingDestination with the addition of // the ability to pass a context and additional request options. // -// See GetItem for details on how to use this API operation. +// See EnableKinesisStreamingDestination 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 *DynamoDB) GetItemWithContext(ctx aws.Context, input *GetItemInput, opts ...request.Option) (*GetItemOutput, error) { - req, out := c.GetItemRequest(input) +func (c *DynamoDB) EnableKinesisStreamingDestinationWithContext(ctx aws.Context, input *EnableKinesisStreamingDestinationInput, opts ...request.Option) (*EnableKinesisStreamingDestinationOutput, error) { + req, out := c.EnableKinesisStreamingDestinationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListBackups = "ListBackups" +const opExecuteStatement = "ExecuteStatement" -// ListBackupsRequest generates a "aws/request.Request" representing the -// client's request for the ListBackups operation. The "output" return +// ExecuteStatementRequest generates a "aws/request.Request" representing the +// client's request for the ExecuteStatement 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 ListBackups for more information on using the ListBackups +// See ExecuteStatement for more information on using the ExecuteStatement // 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 ListBackupsRequest method. -// req, resp := client.ListBackupsRequest(params) +// // Example sending a request using the ExecuteStatementRequest method. +// req, resp := client.ExecuteStatementRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups -func (c *DynamoDB) ListBackupsRequest(input *ListBackupsInput) (req *request.Request, output *ListBackupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExecuteStatement +func (c *DynamoDB) ExecuteStatementRequest(input *ExecuteStatementInput) (req *request.Request, output *ExecuteStatementOutput) { op := &request.Operation{ - Name: opListBackups, + Name: opExecuteStatement, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListBackupsInput{} + input = &ExecuteStatementInput{} } - output = &ListBackupsOutput{} + output = &ExecuteStatementOutput{} req = c.newRequest(op, input, output) - // if custom endpoint for the request is set to a non empty string, - // we skip the endpoint discovery workflow. - if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { - if aws.BoolValue(req.Config.EnableEndpointDiscovery) { - de := discovererDescribeEndpoints{ - Required: false, - EndpointCache: c.endpointCache, - Params: map[string]*string{ - "op": aws.String(req.Operation.Name), - }, - Client: c, - } - - for k, v := range de.Params { - if v == nil { - delete(de.Params, k) - } - } - - req.Handlers.Build.PushFrontNamed(request.NamedHandler{ - Name: "crr.endpointdiscovery", - Fn: de.Handler, - }) - } - } return } -// ListBackups API operation for Amazon DynamoDB. -// -// List backups associated with an AWS account. To list backups for a given -// table, specify TableName. ListBackups returns a paginated list of results -// with at most 1 MB worth of items in a page. You can also specify a maximum -// number of entries to be returned in a page. +// ExecuteStatement API operation for Amazon DynamoDB. // -// In the request, start time is inclusive, but end time is exclusive. Note -// that these boundaries are for the time at which the original backup was requested. -// -// You can call ListBackups a maximum of five times per second. +// This operation allows you to perform reads and singleton writes on data stored +// in DynamoDB, using PartiQL. // // 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 DynamoDB's -// API operation ListBackups for usage and error information. +// API operation ExecuteStatement for usage and error information. // // Returned Error Types: +// * ConditionalCheckFailedException +// A condition specified in the operation could not be evaluated. +// +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * ItemCollectionSizeLimitExceededException +// An item collection is too large. This exception is only returned for tables +// that have one or more local secondary indexes. +// +// * TransactionConflictException +// Operation was rejected because there is an ongoing transaction for the item. +// +// * RequestLimitExceeded +// Throughput exceeds the current throughput quota for your account. Please +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a quota increase. +// // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups -func (c *DynamoDB) ListBackups(input *ListBackupsInput) (*ListBackupsOutput, error) { - req, out := c.ListBackupsRequest(input) +// * DuplicateItemException +// There was an attempt to insert an item with the same primary key as an item +// that already exists in the DynamoDB table. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExecuteStatement +func (c *DynamoDB) ExecuteStatement(input *ExecuteStatementInput) (*ExecuteStatementOutput, error) { + req, out := c.ExecuteStatementRequest(input) return out, req.Send() } -// ListBackupsWithContext is the same as ListBackups with the addition of +// ExecuteStatementWithContext is the same as ExecuteStatement with the addition of // the ability to pass a context and additional request options. // -// See ListBackups for details on how to use this API operation. +// See ExecuteStatement 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 *DynamoDB) ListBackupsWithContext(ctx aws.Context, input *ListBackupsInput, opts ...request.Option) (*ListBackupsOutput, error) { - req, out := c.ListBackupsRequest(input) +func (c *DynamoDB) ExecuteStatementWithContext(ctx aws.Context, input *ExecuteStatementInput, opts ...request.Option) (*ExecuteStatementOutput, error) { + req, out := c.ExecuteStatementRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListContributorInsights = "ListContributorInsights" +const opExecuteTransaction = "ExecuteTransaction" -// ListContributorInsightsRequest generates a "aws/request.Request" representing the -// client's request for the ListContributorInsights operation. The "output" return +// ExecuteTransactionRequest generates a "aws/request.Request" representing the +// client's request for the ExecuteTransaction 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 ListContributorInsights for more information on using the ListContributorInsights +// See ExecuteTransaction for more information on using the ExecuteTransaction // 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 ListContributorInsightsRequest method. -// req, resp := client.ListContributorInsightsRequest(params) +// // Example sending a request using the ExecuteTransactionRequest method. +// req, resp := client.ExecuteTransactionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListContributorInsights -func (c *DynamoDB) ListContributorInsightsRequest(input *ListContributorInsightsInput) (req *request.Request, output *ListContributorInsightsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExecuteTransaction +func (c *DynamoDB) ExecuteTransactionRequest(input *ExecuteTransactionInput) (req *request.Request, output *ExecuteTransactionOutput) { op := &request.Operation{ - Name: opListContributorInsights, + Name: opExecuteTransaction, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListContributorInsightsInput{} + input = &ExecuteTransactionInput{} } - output = &ListContributorInsightsOutput{} + output = &ExecuteTransactionOutput{} req = c.newRequest(op, input, output) return } -// ListContributorInsights API operation for Amazon DynamoDB. +// ExecuteTransaction API operation for Amazon DynamoDB. // -// Returns a list of ContributorInsightsSummary for a table and all its global -// secondary indexes. +// This operation allows you to perform transactional reads or writes on data +// stored in DynamoDB, using PartiQL. // // 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 DynamoDB's -// API operation ListContributorInsights for usage and error information. +// API operation ExecuteTransaction for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // +// * TransactionCanceledException +// The entire transaction request was canceled. +// +// DynamoDB cancels a TransactWriteItems request under the following circumstances: +// +// * A condition in one of the condition expressions is not met. +// +// * A table in the TransactWriteItems request is in a different account +// or region. +// +// * More than one action in the TransactWriteItems operation targets the +// same item. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * An item size becomes too large (larger than 400 KB), or a local secondary +// index (LSI) becomes too large, or a similar validation error occurs because +// of changes made by the transaction. +// +// * There is a user error, such as an invalid data format. +// +// DynamoDB cancels a TransactGetItems request under the following circumstances: +// +// * There is an ongoing TransactGetItems operation that conflicts with a +// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. +// In this case the TransactGetItems operation fails with a TransactionCanceledException. +// +// * A table in the TransactGetItems request is in a different account or +// region. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * There is a user error, such as an invalid data format. +// +// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons +// property. This property is not set for other languages. Transaction cancellation +// reasons are ordered in the order of requested items, if an item has no error +// it will have NONE code and Null message. +// +// Cancellation reason codes and possible error messages: +// +// * No Errors: Code: NONE Message: null +// +// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The +// conditional request failed. +// +// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded +// Message: Collection size exceeded. +// +// * Transaction Conflict: Code: TransactionConflict Message: Transaction +// is ongoing for the item. +// +// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded +// Messages: The level of configured provisioned throughput for the table +// was exceeded. Consider increasing your provisioning level with the UpdateTable +// API. This Message is received when provisioned throughput is exceeded +// is on a provisioned DynamoDB table. The level of configured provisioned +// throughput for one or more global secondary indexes of the table was exceeded. +// Consider increasing your provisioning level for the under-provisioned +// global secondary indexes with the UpdateTable API. This message is returned +// when provisioned throughput is exceeded is on a provisioned GSI. +// +// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds +// the current capacity of your table or index. DynamoDB is automatically +// scaling your table or index so please try again shortly. If exceptions +// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. +// This message is returned when writes get throttled on an On-Demand table +// as DynamoDB is automatically scaling the table. Throughput exceeds the +// current capacity for one or more global secondary indexes. DynamoDB is +// automatically scaling your index so please try again shortly. This message +// is returned when when writes get throttled on an On-Demand GSI as DynamoDB +// is automatically scaling the GSI. +// +// * Validation Error: Code: ValidationError Messages: One or more parameter +// values were invalid. The update expression attempted to update the secondary +// index key beyond allowed size limits. The update expression attempted +// to update the secondary index key to unsupported type. An operand in the +// update expression has an incorrect data type. Item size to update has +// exceeded the maximum allowed size. Number overflow. Attempting to store +// a number with magnitude larger than supported range. Type mismatch for +// attribute to update. Nesting Levels have exceeded supported limits. The +// document path provided in the update expression is invalid for update. +// The provided expression refers to an attribute that does not exist in +// the item. +// +// * TransactionInProgressException +// The transaction with the given request token is already in progress. +// +// * IdempotentParameterMismatchException +// DynamoDB rejected the request because you retried a request with a different +// payload but with an idempotent token that was already used. +// +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. +// +// * RequestLimitExceeded +// Throughput exceeds the current throughput quota for your account. Please +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a quota increase. +// // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListContributorInsights -func (c *DynamoDB) ListContributorInsights(input *ListContributorInsightsInput) (*ListContributorInsightsOutput, error) { - req, out := c.ListContributorInsightsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExecuteTransaction +func (c *DynamoDB) ExecuteTransaction(input *ExecuteTransactionInput) (*ExecuteTransactionOutput, error) { + req, out := c.ExecuteTransactionRequest(input) return out, req.Send() } -// ListContributorInsightsWithContext is the same as ListContributorInsights with the addition of +// ExecuteTransactionWithContext is the same as ExecuteTransaction with the addition of // the ability to pass a context and additional request options. // -// See ListContributorInsights for details on how to use this API operation. +// See ExecuteTransaction 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 *DynamoDB) ListContributorInsightsWithContext(ctx aws.Context, input *ListContributorInsightsInput, opts ...request.Option) (*ListContributorInsightsOutput, error) { - req, out := c.ListContributorInsightsRequest(input) +func (c *DynamoDB) ExecuteTransactionWithContext(ctx aws.Context, input *ExecuteTransactionInput, opts ...request.Option) (*ExecuteTransactionOutput, error) { + req, out := c.ExecuteTransactionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListContributorInsightsPages iterates over the pages of a ListContributorInsights operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListContributorInsights method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListContributorInsights operation. -// pageNum := 0 -// err := client.ListContributorInsightsPages(params, -// func(page *dynamodb.ListContributorInsightsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *DynamoDB) ListContributorInsightsPages(input *ListContributorInsightsInput, fn func(*ListContributorInsightsOutput, bool) bool) error { - return c.ListContributorInsightsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListContributorInsightsPagesWithContext same as ListContributorInsightsPages except -// it takes a Context and allows setting request options on the pages. -// -// 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 *DynamoDB) ListContributorInsightsPagesWithContext(ctx aws.Context, input *ListContributorInsightsInput, fn func(*ListContributorInsightsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListContributorInsightsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListContributorInsightsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListContributorInsightsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListExports = "ListExports" - -// ListExportsRequest generates a "aws/request.Request" representing the -// client's request for the ListExports operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +const opExportTableToPointInTime = "ExportTableToPointInTime" + +// ExportTableToPointInTimeRequest generates a "aws/request.Request" representing the +// client's request for the ExportTableToPointInTime 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 ListExports for more information on using the ListExports +// See ExportTableToPointInTime for more information on using the ExportTableToPointInTime // 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 ListExportsRequest method. -// req, resp := client.ListExportsRequest(params) +// // Example sending a request using the ExportTableToPointInTimeRequest method. +// req, resp := client.ExportTableToPointInTimeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListExports -func (c *DynamoDB) ListExportsRequest(input *ListExportsInput) (req *request.Request, output *ListExportsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExportTableToPointInTime +func (c *DynamoDB) ExportTableToPointInTimeRequest(input *ExportTableToPointInTimeInput) (req *request.Request, output *ExportTableToPointInTimeOutput) { op := &request.Operation{ - Name: opListExports, + Name: opExportTableToPointInTime, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListExportsInput{} + input = &ExportTableToPointInTimeInput{} } - output = &ListExportsOutput{} + output = &ExportTableToPointInTimeOutput{} req = c.newRequest(op, input, output) return } -// ListExports API operation for Amazon DynamoDB. +// ExportTableToPointInTime API operation for Amazon DynamoDB. // -// Lists completed exports within the past 90 days. +// Exports table data to an S3 bucket. The table must have point in time recovery +// enabled, and you can export data from any time within the point in time recovery +// window. // // 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 DynamoDB's -// API operation ListExports for usage and error information. +// API operation ExportTableToPointInTime for usage and error information. // // Returned Error Types: +// * TableNotFoundException +// A source table with the name TableName does not currently exist within the +// subscriber's account. +// +// * PointInTimeRecoveryUnavailableException +// Point in time recovery has not yet been enabled for this source table. +// // * LimitExceededException // There is no limit to the number of daily on-demand backups that can be taken. // @@ -3129,121 +3395,75 @@ func (c *DynamoDB) ListExportsRequest(input *ListExportsInput) (req *request.Req // // There is a soft account quota of 256 tables. // +// * InvalidExportTimeException +// The specified ExportTime is outside of the point in time recovery window. +// +// * ExportConflictException +// There was a conflict when writing to the specified S3 bucket. +// // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListExports -func (c *DynamoDB) ListExports(input *ListExportsInput) (*ListExportsOutput, error) { - req, out := c.ListExportsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ExportTableToPointInTime +func (c *DynamoDB) ExportTableToPointInTime(input *ExportTableToPointInTimeInput) (*ExportTableToPointInTimeOutput, error) { + req, out := c.ExportTableToPointInTimeRequest(input) return out, req.Send() } -// ListExportsWithContext is the same as ListExports with the addition of +// ExportTableToPointInTimeWithContext is the same as ExportTableToPointInTime with the addition of // the ability to pass a context and additional request options. // -// See ListExports for details on how to use this API operation. +// See ExportTableToPointInTime 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 *DynamoDB) ListExportsWithContext(ctx aws.Context, input *ListExportsInput, opts ...request.Option) (*ListExportsOutput, error) { - req, out := c.ListExportsRequest(input) +func (c *DynamoDB) ExportTableToPointInTimeWithContext(ctx aws.Context, input *ExportTableToPointInTimeInput, opts ...request.Option) (*ExportTableToPointInTimeOutput, error) { + req, out := c.ExportTableToPointInTimeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListExportsPages iterates over the pages of a ListExports operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListExports method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListExports operation. -// pageNum := 0 -// err := client.ListExportsPages(params, -// func(page *dynamodb.ListExportsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *DynamoDB) ListExportsPages(input *ListExportsInput, fn func(*ListExportsOutput, bool) bool) error { - return c.ListExportsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListExportsPagesWithContext same as ListExportsPages except -// it takes a Context and allows setting request options on the pages. -// -// 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 *DynamoDB) ListExportsPagesWithContext(ctx aws.Context, input *ListExportsInput, fn func(*ListExportsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListExportsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListExportsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListExportsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListGlobalTables = "ListGlobalTables" +const opGetItem = "GetItem" -// ListGlobalTablesRequest generates a "aws/request.Request" representing the -// client's request for the ListGlobalTables operation. The "output" return +// GetItemRequest generates a "aws/request.Request" representing the +// client's request for the GetItem 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 ListGlobalTables for more information on using the ListGlobalTables +// See GetItem for more information on using the GetItem // 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 ListGlobalTablesRequest method. -// req, resp := client.ListGlobalTablesRequest(params) +// // Example sending a request using the GetItemRequest method. +// req, resp := client.GetItemRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables -func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *request.Request, output *ListGlobalTablesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem +func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, output *GetItemOutput) { op := &request.Operation{ - Name: opListGlobalTables, + Name: opGetItem, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListGlobalTablesInput{} + input = &GetItemInput{} } - output = &ListGlobalTablesOutput{} + output = &GetItemOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -3273,90 +3493,105 @@ func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *r return } -// ListGlobalTables API operation for Amazon DynamoDB. +// GetItem API operation for Amazon DynamoDB. // -// Lists all global tables that have a replica in the specified Region. +// The GetItem operation returns a set of attributes for the item with the given +// primary key. If there is no matching item, GetItem does not return any data +// and there will be no Item element in the response. // -// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) -// of global tables. +// GetItem provides an eventually consistent read by default. If your application +// requires a strongly consistent read, set ConsistentRead to true. Although +// a strongly consistent read might take more time than an eventually consistent +// read, it always returns the last updated value. // // 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 DynamoDB's -// API operation ListGlobalTables for usage and error information. +// API operation GetItem for usage and error information. // // Returned Error Types: +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * RequestLimitExceeded +// Throughput exceeds the current throughput quota for your account. Please +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a quota increase. +// // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables -func (c *DynamoDB) ListGlobalTables(input *ListGlobalTablesInput) (*ListGlobalTablesOutput, error) { - req, out := c.ListGlobalTablesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem +func (c *DynamoDB) GetItem(input *GetItemInput) (*GetItemOutput, error) { + req, out := c.GetItemRequest(input) return out, req.Send() } -// ListGlobalTablesWithContext is the same as ListGlobalTables with the addition of +// GetItemWithContext is the same as GetItem with the addition of // the ability to pass a context and additional request options. // -// See ListGlobalTables for details on how to use this API operation. +// See GetItem 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 *DynamoDB) ListGlobalTablesWithContext(ctx aws.Context, input *ListGlobalTablesInput, opts ...request.Option) (*ListGlobalTablesOutput, error) { - req, out := c.ListGlobalTablesRequest(input) +func (c *DynamoDB) GetItemWithContext(ctx aws.Context, input *GetItemInput, opts ...request.Option) (*GetItemOutput, error) { + req, out := c.GetItemRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListTables = "ListTables" +const opListBackups = "ListBackups" -// ListTablesRequest generates a "aws/request.Request" representing the -// client's request for the ListTables operation. The "output" return +// ListBackupsRequest generates a "aws/request.Request" representing the +// client's request for the ListBackups 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 ListTables for more information on using the ListTables +// See ListBackups for more information on using the ListBackups // 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 ListTablesRequest method. -// req, resp := client.ListTablesRequest(params) +// // Example sending a request using the ListBackupsRequest method. +// req, resp := client.ListBackupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables -func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups +func (c *DynamoDB) ListBackupsRequest(input *ListBackupsInput) (req *request.Request, output *ListBackupsOutput) { op := &request.Operation{ - Name: opListTables, + Name: opListBackups, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"ExclusiveStartTableName"}, - OutputTokens: []string{"LastEvaluatedTableName"}, - LimitToken: "Limit", - TruncationToken: "", - }, } if input == nil { - input = &ListTablesInput{} + input = &ListBackupsInput{} } - output = &ListTablesOutput{} + output = &ListBackupsOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -3386,82 +3621,178 @@ func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Reque return } -// ListTables API operation for Amazon DynamoDB. +// ListBackups API operation for Amazon DynamoDB. // -// Returns an array of table names associated with the current account and endpoint. -// The output from ListTables is paginated, with each page returning a maximum -// of 100 table names. +// List backups associated with an AWS account. To list backups for a given +// table, specify TableName. ListBackups returns a paginated list of results +// with at most 1 MB worth of items in a page. You can also specify a maximum +// number of entries to be returned in a page. +// +// In the request, start time is inclusive, but end time is exclusive. Note +// that these boundaries are for the time at which the original backup was requested. +// +// You can call ListBackups a maximum of five times per second. // // 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 DynamoDB's -// API operation ListTables for usage and error information. +// API operation ListBackups for usage and error information. // // Returned Error Types: // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables -func (c *DynamoDB) ListTables(input *ListTablesInput) (*ListTablesOutput, error) { - req, out := c.ListTablesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups +func (c *DynamoDB) ListBackups(input *ListBackupsInput) (*ListBackupsOutput, error) { + req, out := c.ListBackupsRequest(input) return out, req.Send() } -// ListTablesWithContext is the same as ListTables with the addition of +// ListBackupsWithContext is the same as ListBackups with the addition of // the ability to pass a context and additional request options. // -// See ListTables for details on how to use this API operation. +// See ListBackups 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 *DynamoDB) ListTablesWithContext(ctx aws.Context, input *ListTablesInput, opts ...request.Option) (*ListTablesOutput, error) { - req, out := c.ListTablesRequest(input) +func (c *DynamoDB) ListBackupsWithContext(ctx aws.Context, input *ListBackupsInput, opts ...request.Option) (*ListBackupsOutput, error) { + req, out := c.ListBackupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTablesPages iterates over the pages of a ListTables operation, +const opListContributorInsights = "ListContributorInsights" + +// ListContributorInsightsRequest generates a "aws/request.Request" representing the +// client's request for the ListContributorInsights 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 ListContributorInsights for more information on using the ListContributorInsights +// 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 ListContributorInsightsRequest method. +// req, resp := client.ListContributorInsightsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListContributorInsights +func (c *DynamoDB) ListContributorInsightsRequest(input *ListContributorInsightsInput) (req *request.Request, output *ListContributorInsightsOutput) { + op := &request.Operation{ + Name: opListContributorInsights, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListContributorInsightsInput{} + } + + output = &ListContributorInsightsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListContributorInsights API operation for Amazon DynamoDB. +// +// Returns a list of ContributorInsightsSummary for a table and all its global +// secondary indexes. +// +// 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 DynamoDB's +// API operation ListContributorInsights for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * InternalServerError +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListContributorInsights +func (c *DynamoDB) ListContributorInsights(input *ListContributorInsightsInput) (*ListContributorInsightsOutput, error) { + req, out := c.ListContributorInsightsRequest(input) + return out, req.Send() +} + +// ListContributorInsightsWithContext is the same as ListContributorInsights with the addition of +// the ability to pass a context and additional request options. +// +// See ListContributorInsights 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 *DynamoDB) ListContributorInsightsWithContext(ctx aws.Context, input *ListContributorInsightsInput, opts ...request.Option) (*ListContributorInsightsOutput, error) { + req, out := c.ListContributorInsightsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListContributorInsightsPages iterates over the pages of a ListContributorInsights operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListTables method for more information on how to use this operation. +// See ListContributorInsights method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListTables operation. +// // Example iterating over at most 3 pages of a ListContributorInsights operation. // pageNum := 0 -// err := client.ListTablesPages(params, -// func(page *dynamodb.ListTablesOutput, lastPage bool) bool { +// err := client.ListContributorInsightsPages(params, +// func(page *dynamodb.ListContributorInsightsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *DynamoDB) ListTablesPages(input *ListTablesInput, fn func(*ListTablesOutput, bool) bool) error { - return c.ListTablesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *DynamoDB) ListContributorInsightsPages(input *ListContributorInsightsInput, fn func(*ListContributorInsightsOutput, bool) bool) error { + return c.ListContributorInsightsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListTablesPagesWithContext same as ListTablesPages except +// ListContributorInsightsPagesWithContext same as ListContributorInsightsPages except // it takes a Context and allows setting request options on the pages. // // 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 *DynamoDB) ListTablesPagesWithContext(ctx aws.Context, input *ListTablesInput, fn func(*ListTablesOutput, bool) bool, opts ...request.Option) error { +func (c *DynamoDB) ListContributorInsightsPagesWithContext(ctx aws.Context, input *ListContributorInsightsInput, fn func(*ListContributorInsightsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListTablesInput + var inCpy *ListContributorInsightsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListTablesRequest(inCpy) + req, _ := c.ListContributorInsightsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3469,7 +3800,7 @@ func (c *DynamoDB) ListTablesPagesWithContext(ctx aws.Context, input *ListTables } for p.Next() { - if !fn(p.Page().(*ListTablesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListContributorInsightsOutput), !p.HasNextPage()) { break } } @@ -3477,156 +3808,195 @@ func (c *DynamoDB) ListTablesPagesWithContext(ctx aws.Context, input *ListTables return p.Err() } -const opListTagsOfResource = "ListTagsOfResource" +const opListExports = "ListExports" -// ListTagsOfResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsOfResource operation. The "output" return +// ListExportsRequest generates a "aws/request.Request" representing the +// client's request for the ListExports 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 ListTagsOfResource for more information on using the ListTagsOfResource +// See ListExports for more information on using the ListExports // 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 ListTagsOfResourceRequest method. -// req, resp := client.ListTagsOfResourceRequest(params) +// // Example sending a request using the ListExportsRequest method. +// req, resp := client.ListExportsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource -func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (req *request.Request, output *ListTagsOfResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListExports +func (c *DynamoDB) ListExportsRequest(input *ListExportsInput) (req *request.Request, output *ListExportsOutput) { op := &request.Operation{ - Name: opListTagsOfResource, + Name: opListExports, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsOfResourceInput{} + input = &ListExportsInput{} } - output = &ListTagsOfResourceOutput{} + output = &ListExportsOutput{} req = c.newRequest(op, input, output) - // if custom endpoint for the request is set to a non empty string, - // we skip the endpoint discovery workflow. - if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { - if aws.BoolValue(req.Config.EnableEndpointDiscovery) { - de := discovererDescribeEndpoints{ - Required: false, - EndpointCache: c.endpointCache, - Params: map[string]*string{ - "op": aws.String(req.Operation.Name), - }, - Client: c, - } - - for k, v := range de.Params { - if v == nil { - delete(de.Params, k) - } - } - - req.Handlers.Build.PushFrontNamed(request.NamedHandler{ - Name: "crr.endpointdiscovery", - Fn: de.Handler, - }) - } - } return } -// ListTagsOfResource API operation for Amazon DynamoDB. -// -// List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource -// up to 10 times per second, per account. +// ListExports API operation for Amazon DynamoDB. // -// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) -// in the Amazon DynamoDB Developer Guide. +// Lists completed exports within the past 90 days. // // 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 DynamoDB's -// API operation ListTagsOfResource for usage and error information. +// API operation ListExports for usage and error information. // // Returned Error Types: -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. +// * LimitExceededException +// There is no limit to the number of daily on-demand backups that can be taken. +// +// Up to 50 simultaneous table operations are allowed per account. These operations +// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, +// and RestoreTableToPointInTime. +// +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. +// +// There is a soft account quota of 256 tables. // // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource -func (c *DynamoDB) ListTagsOfResource(input *ListTagsOfResourceInput) (*ListTagsOfResourceOutput, error) { - req, out := c.ListTagsOfResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListExports +func (c *DynamoDB) ListExports(input *ListExportsInput) (*ListExportsOutput, error) { + req, out := c.ListExportsRequest(input) return out, req.Send() } -// ListTagsOfResourceWithContext is the same as ListTagsOfResource with the addition of +// ListExportsWithContext is the same as ListExports with the addition of // the ability to pass a context and additional request options. // -// See ListTagsOfResource for details on how to use this API operation. +// See ListExports 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 *DynamoDB) ListTagsOfResourceWithContext(ctx aws.Context, input *ListTagsOfResourceInput, opts ...request.Option) (*ListTagsOfResourceOutput, error) { - req, out := c.ListTagsOfResourceRequest(input) +func (c *DynamoDB) ListExportsWithContext(ctx aws.Context, input *ListExportsInput, opts ...request.Option) (*ListExportsOutput, error) { + req, out := c.ListExportsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutItem = "PutItem" - -// PutItemRequest generates a "aws/request.Request" representing the -// client's request for the PutItem operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +// ListExportsPages iterates over the pages of a ListExports operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// 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 ListExports method for more information on how to use this operation. // -// See PutItem for more information on using the PutItem -// API call, and error handling. +// Note: This operation can generate multiple requests to a service. // -// This method is useful when you want to inject custom logic or configuration +// // Example iterating over at most 3 pages of a ListExports operation. +// pageNum := 0 +// err := client.ListExportsPages(params, +// func(page *dynamodb.ListExportsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DynamoDB) ListExportsPages(input *ListExportsInput, fn func(*ListExportsOutput, bool) bool) error { + return c.ListExportsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListExportsPagesWithContext same as ListExportsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *DynamoDB) ListExportsPagesWithContext(ctx aws.Context, input *ListExportsInput, fn func(*ListExportsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListExportsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListExportsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListExportsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListGlobalTables = "ListGlobalTables" + +// ListGlobalTablesRequest generates a "aws/request.Request" representing the +// client's request for the ListGlobalTables 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 ListGlobalTables for more information on using the ListGlobalTables +// 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 PutItemRequest method. -// req, resp := client.PutItemRequest(params) +// // Example sending a request using the ListGlobalTablesRequest method. +// req, resp := client.ListGlobalTablesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem -func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, output *PutItemOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables +func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *request.Request, output *ListGlobalTablesOutput) { op := &request.Operation{ - Name: opPutItem, + Name: opListGlobalTables, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PutItemInput{} + input = &ListGlobalTablesInput{} } - output = &PutItemOutput{} + output = &ListGlobalTablesOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -3656,163 +4026,90 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou return } -// PutItem API operation for Amazon DynamoDB. -// -// Creates a new item, or replaces an old item with a new item. If an item that -// has the same primary key as the new item already exists in the specified -// table, the new item completely replaces the existing item. You can perform -// a conditional put operation (add a new item if one with the specified primary -// key doesn't exist), or replace an existing item if it has certain attribute -// values. You can return the item's attribute values in the same operation, -// using the ReturnValues parameter. -// -// This topic provides general information about the PutItem API. -// -// For information on how to call the PutItem API using the AWS SDK in specific -// languages, see the following: -// -// * PutItem in the AWS Command Line Interface (http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem) -// -// * PutItem in the AWS SDK for .NET (http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem) -// -// * PutItem in the AWS SDK for C++ (http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem) -// -// * PutItem in the AWS SDK for Go (http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem) -// -// * PutItem in the AWS SDK for Java (http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem) -// -// * PutItem in the AWS SDK for JavaScript (http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem) -// -// * PutItem in the AWS SDK for PHP V3 (http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem) -// -// * PutItem in the AWS SDK for Python (http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem) -// -// * PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem) -// -// When you add an item, the primary key attributes are the only required attributes. -// Attribute values cannot be null. -// -// Empty String and Binary attribute values are allowed. Attribute values of -// type String and Binary must have a length greater than zero if the attribute -// is used as a key attribute for a table or index. Set type attributes cannot -// be empty. -// -// Invalid Requests with empty values will be rejected with a ValidationException -// exception. +// ListGlobalTables API operation for Amazon DynamoDB. // -// To prevent a new item from replacing an existing item, use a conditional -// expression that contains the attribute_not_exists function with the name -// of the attribute being used as the partition key for the table. Since every -// record must contain that attribute, the attribute_not_exists function will -// only succeed if no matching item exists. +// Lists all global tables that have a replica in the specified Region. // -// For more information about PutItem, see Working with Items (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html) -// in the Amazon DynamoDB Developer Guide. +// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) +// of global tables. // // 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 DynamoDB's -// API operation PutItem for usage and error information. +// API operation ListGlobalTables for usage and error information. // // Returned Error Types: -// * ConditionalCheckFailedException -// A condition specified in the operation could not be evaluated. -// -// * ProvisionedThroughputExceededException -// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry -// requests that receive this exception. Your request is eventually successful, -// unless your retry queue is too large to finish. Reduce the frequency of requests -// and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) -// in the Amazon DynamoDB Developer Guide. -// -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. -// -// * ItemCollectionSizeLimitExceededException -// An item collection is too large. This exception is only returned for tables -// that have one or more local secondary indexes. -// -// * TransactionConflictException -// Operation was rejected because there is an ongoing transaction for the item. -// -// * RequestLimitExceeded -// Throughput exceeds the current throughput quota for your account. Please -// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request -// a quota increase. -// // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem -func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) { - req, out := c.PutItemRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables +func (c *DynamoDB) ListGlobalTables(input *ListGlobalTablesInput) (*ListGlobalTablesOutput, error) { + req, out := c.ListGlobalTablesRequest(input) return out, req.Send() } -// PutItemWithContext is the same as PutItem with the addition of +// ListGlobalTablesWithContext is the same as ListGlobalTables with the addition of // the ability to pass a context and additional request options. // -// See PutItem for details on how to use this API operation. +// See ListGlobalTables 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 *DynamoDB) PutItemWithContext(ctx aws.Context, input *PutItemInput, opts ...request.Option) (*PutItemOutput, error) { - req, out := c.PutItemRequest(input) +func (c *DynamoDB) ListGlobalTablesWithContext(ctx aws.Context, input *ListGlobalTablesInput, opts ...request.Option) (*ListGlobalTablesOutput, error) { + req, out := c.ListGlobalTablesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opQuery = "Query" +const opListTables = "ListTables" -// QueryRequest generates a "aws/request.Request" representing the -// client's request for the Query operation. The "output" return +// ListTablesRequest generates a "aws/request.Request" representing the +// client's request for the ListTables 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 Query for more information on using the Query +// See ListTables for more information on using the ListTables // 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 QueryRequest method. -// req, resp := client.QueryRequest(params) +// // Example sending a request using the ListTablesRequest method. +// req, resp := client.ListTablesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query -func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output *QueryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables +func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) { op := &request.Operation{ - Name: opQuery, + Name: opListTables, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ - InputTokens: []string{"ExclusiveStartKey"}, - OutputTokens: []string{"LastEvaluatedKey"}, + InputTokens: []string{"ExclusiveStartTableName"}, + OutputTokens: []string{"LastEvaluatedTableName"}, LimitToken: "Limit", TruncationToken: "", }, } if input == nil { - input = &QueryInput{} + input = &ListTablesInput{} } - output = &QueryOutput{} + output = &ListTablesOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -3842,144 +4139,82 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output return } -// Query API operation for Amazon DynamoDB. -// -// The Query operation finds items based on primary key values. You can query -// any table or secondary index that has a composite primary key (a partition -// key and a sort key). -// -// Use the KeyConditionExpression parameter to provide a specific value for -// the partition key. The Query operation will return all of the items from -// the table or index with that partition key value. You can optionally narrow -// the scope of the Query operation by specifying a sort key value and a comparison -// operator in KeyConditionExpression. To further refine the Query results, -// you can optionally provide a FilterExpression. A FilterExpression determines -// which items within the results should be returned to you. All of the other -// results are discarded. -// -// A Query operation always returns a result set. If no matching items are found, -// the result set will be empty. Queries that do not return results consume -// the minimum number of read capacity units for that type of read operation. -// -// DynamoDB calculates the number of read capacity units consumed based on item -// size, not on the amount of data that is returned to an application. The number -// of capacity units consumed will be the same whether you request all of the -// attributes (the default behavior) or just some of them (using a projection -// expression). The number will also be the same whether or not you use a FilterExpression. -// -// Query results are always sorted by the sort key value. If the data type of -// the sort key is Number, the results are returned in numeric order; otherwise, -// the results are returned in order of UTF-8 bytes. By default, the sort order -// is ascending. To reverse the order, set the ScanIndexForward parameter to -// false. -// -// A single Query operation will read up to the maximum number of items set -// (if using the Limit parameter) or a maximum of 1 MB of data and then apply -// any filtering to the results using FilterExpression. If LastEvaluatedKey -// is present in the response, you will need to paginate the result set. For -// more information, see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination) -// in the Amazon DynamoDB Developer Guide. -// -// FilterExpression is applied after a Query finishes, but before the results -// are returned. A FilterExpression cannot contain partition key or sort key -// attributes. You need to specify those attributes in the KeyConditionExpression. -// -// A Query operation can return an empty result set and a LastEvaluatedKey if -// all the items read for the page of results are filtered out. +// ListTables API operation for Amazon DynamoDB. // -// You can query a table, a local secondary index, or a global secondary index. -// For a query on a table or on a local secondary index, you can set the ConsistentRead -// parameter to true and obtain a strongly consistent result. Global secondary -// indexes support eventually consistent reads only, so do not specify ConsistentRead -// when querying a global secondary index. +// Returns an array of table names associated with the current account and endpoint. +// The output from ListTables is paginated, with each page returning a maximum +// of 100 table names. // // 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 DynamoDB's -// API operation Query for usage and error information. +// API operation ListTables for usage and error information. // // Returned Error Types: -// * ProvisionedThroughputExceededException -// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry -// requests that receive this exception. Your request is eventually successful, -// unless your retry queue is too large to finish. Reduce the frequency of requests -// and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) -// in the Amazon DynamoDB Developer Guide. -// -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. -// -// * RequestLimitExceeded -// Throughput exceeds the current throughput quota for your account. Please -// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request -// a quota increase. -// // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query -func (c *DynamoDB) Query(input *QueryInput) (*QueryOutput, error) { - req, out := c.QueryRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables +func (c *DynamoDB) ListTables(input *ListTablesInput) (*ListTablesOutput, error) { + req, out := c.ListTablesRequest(input) return out, req.Send() } -// QueryWithContext is the same as Query with the addition of +// ListTablesWithContext is the same as ListTables with the addition of // the ability to pass a context and additional request options. // -// See Query for details on how to use this API operation. +// See ListTables 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 *DynamoDB) QueryWithContext(ctx aws.Context, input *QueryInput, opts ...request.Option) (*QueryOutput, error) { - req, out := c.QueryRequest(input) +func (c *DynamoDB) ListTablesWithContext(ctx aws.Context, input *ListTablesInput, opts ...request.Option) (*ListTablesOutput, error) { + req, out := c.ListTablesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// QueryPages iterates over the pages of a Query operation, +// ListTablesPages iterates over the pages of a ListTables operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See Query method for more information on how to use this operation. +// See ListTables method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a Query operation. +// // Example iterating over at most 3 pages of a ListTables operation. // pageNum := 0 -// err := client.QueryPages(params, -// func(page *dynamodb.QueryOutput, lastPage bool) bool { +// err := client.ListTablesPages(params, +// func(page *dynamodb.ListTablesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *DynamoDB) QueryPages(input *QueryInput, fn func(*QueryOutput, bool) bool) error { - return c.QueryPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *DynamoDB) ListTablesPages(input *ListTablesInput, fn func(*ListTablesOutput, bool) bool) error { + return c.ListTablesPagesWithContext(aws.BackgroundContext(), input, fn) } -// QueryPagesWithContext same as QueryPages except +// ListTablesPagesWithContext same as ListTablesPages except // it takes a Context and allows setting request options on the pages. // // 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 *DynamoDB) QueryPagesWithContext(ctx aws.Context, input *QueryInput, fn func(*QueryOutput, bool) bool, opts ...request.Option) error { +func (c *DynamoDB) ListTablesPagesWithContext(ctx aws.Context, input *ListTablesInput, fn func(*ListTablesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *QueryInput + var inCpy *ListTablesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.QueryRequest(inCpy) + req, _ := c.ListTablesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3987,7 +4222,7 @@ func (c *DynamoDB) QueryPagesWithContext(ctx aws.Context, input *QueryInput, fn } for p.Next() { - if !fn(p.Page().(*QueryOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListTablesOutput), !p.HasNextPage()) { break } } @@ -3995,44 +4230,44 @@ func (c *DynamoDB) QueryPagesWithContext(ctx aws.Context, input *QueryInput, fn return p.Err() } -const opRestoreTableFromBackup = "RestoreTableFromBackup" +const opListTagsOfResource = "ListTagsOfResource" -// RestoreTableFromBackupRequest generates a "aws/request.Request" representing the -// client's request for the RestoreTableFromBackup operation. The "output" return +// ListTagsOfResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsOfResource 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 RestoreTableFromBackup for more information on using the RestoreTableFromBackup +// See ListTagsOfResource for more information on using the ListTagsOfResource // 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 RestoreTableFromBackupRequest method. -// req, resp := client.RestoreTableFromBackupRequest(params) +// // Example sending a request using the ListTagsOfResourceRequest method. +// req, resp := client.ListTagsOfResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup -func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupInput) (req *request.Request, output *RestoreTableFromBackupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource +func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (req *request.Request, output *ListTagsOfResourceOutput) { op := &request.Operation{ - Name: opRestoreTableFromBackup, + Name: opListTagsOfResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RestoreTableFromBackupInput{} + input = &ListTagsOfResourceInput{} } - output = &RestoreTableFromBackupOutput{} + output = &ListTagsOfResourceOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -4062,125 +4297,89 @@ func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupIn return } -// RestoreTableFromBackup API operation for Amazon DynamoDB. -// -// Creates a new table from an existing backup. Any number of users can execute -// up to 4 concurrent restores (any type of restore) in a given account. -// -// You can call RestoreTableFromBackup at a maximum rate of 10 times per second. -// -// You must manually set up the following on the restored table: -// -// * Auto scaling policies -// -// * IAM policies -// -// * Amazon CloudWatch metrics and alarms -// -// * Tags +// ListTagsOfResource API operation for Amazon DynamoDB. // -// * Stream settings +// List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource +// up to 10 times per second, per account. // -// * Time to Live (TTL) settings +// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) +// in the Amazon DynamoDB Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon DynamoDB's -// API operation RestoreTableFromBackup for usage and error information. +// API operation ListTagsOfResource for usage and error information. // // Returned Error Types: -// * TableAlreadyExistsException -// A target table with the specified name already exists. -// -// * TableInUseException -// A target table with the specified name is either being created or deleted. -// -// * BackupNotFoundException -// Backup not found for the given BackupARN. -// -// * BackupInUseException -// There is another ongoing conflicting backup control plane operation on the -// table. The backup is either being created, deleted or restored to a table. -// -// * LimitExceededException -// There is no limit to the number of daily on-demand backups that can be taken. -// -// Up to 50 simultaneous table operations are allowed per account. These operations -// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, -// and RestoreTableToPointInTime. -// -// The only exception is when you are creating a table with one or more secondary -// indexes. You can have up to 25 such requests running at a time; however, -// if the table or index specifications are complex, DynamoDB might temporarily -// reduce the number of concurrent operations. -// -// There is a soft account quota of 256 tables. +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. // // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup -func (c *DynamoDB) RestoreTableFromBackup(input *RestoreTableFromBackupInput) (*RestoreTableFromBackupOutput, error) { - req, out := c.RestoreTableFromBackupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource +func (c *DynamoDB) ListTagsOfResource(input *ListTagsOfResourceInput) (*ListTagsOfResourceOutput, error) { + req, out := c.ListTagsOfResourceRequest(input) return out, req.Send() } -// RestoreTableFromBackupWithContext is the same as RestoreTableFromBackup with the addition of +// ListTagsOfResourceWithContext is the same as ListTagsOfResource with the addition of // the ability to pass a context and additional request options. // -// See RestoreTableFromBackup for details on how to use this API operation. +// See ListTagsOfResource 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 *DynamoDB) RestoreTableFromBackupWithContext(ctx aws.Context, input *RestoreTableFromBackupInput, opts ...request.Option) (*RestoreTableFromBackupOutput, error) { - req, out := c.RestoreTableFromBackupRequest(input) +func (c *DynamoDB) ListTagsOfResourceWithContext(ctx aws.Context, input *ListTagsOfResourceInput, opts ...request.Option) (*ListTagsOfResourceOutput, error) { + req, out := c.ListTagsOfResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRestoreTableToPointInTime = "RestoreTableToPointInTime" +const opPutItem = "PutItem" -// RestoreTableToPointInTimeRequest generates a "aws/request.Request" representing the -// client's request for the RestoreTableToPointInTime operation. The "output" return +// PutItemRequest generates a "aws/request.Request" representing the +// client's request for the PutItem 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 RestoreTableToPointInTime for more information on using the RestoreTableToPointInTime +// See PutItem for more information on using the PutItem // 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 RestoreTableToPointInTimeRequest method. -// req, resp := client.RestoreTableToPointInTimeRequest(params) +// // Example sending a request using the PutItemRequest method. +// req, resp := client.PutItemRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime -func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointInTimeInput) (req *request.Request, output *RestoreTableToPointInTimeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem +func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, output *PutItemOutput) { op := &request.Operation{ - Name: opRestoreTableToPointInTime, + Name: opPutItem, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RestoreTableToPointInTimeInput{} + input = &PutItemInput{} } - output = &RestoreTableToPointInTimeOutput{} + output = &PutItemOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -4210,138 +4409,148 @@ func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointIn return } -// RestoreTableToPointInTime API operation for Amazon DynamoDB. +// PutItem API operation for Amazon DynamoDB. // -// Restores the specified table to the specified point in time within EarliestRestorableDateTime -// and LatestRestorableDateTime. You can restore your table to any point in -// time during the last 35 days. Any number of users can execute up to 4 concurrent -// restores (any type of restore) in a given account. +// Creates a new item, or replaces an old item with a new item. If an item that +// has the same primary key as the new item already exists in the specified +// table, the new item completely replaces the existing item. You can perform +// a conditional put operation (add a new item if one with the specified primary +// key doesn't exist), or replace an existing item if it has certain attribute +// values. You can return the item's attribute values in the same operation, +// using the ReturnValues parameter. // -// When you restore using point in time recovery, DynamoDB restores your table -// data to the state based on the selected date and time (day:hour:minute:second) -// to a new table. +// This topic provides general information about the PutItem API. // -// Along with data, the following are also included on the new restored table -// using point in time recovery: +// For information on how to call the PutItem API using the AWS SDK in specific +// languages, see the following: // -// * Global secondary indexes (GSIs) +// * PutItem in the AWS Command Line Interface (http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem) // -// * Local secondary indexes (LSIs) +// * PutItem in the AWS SDK for .NET (http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem) // -// * Provisioned read and write capacity +// * PutItem in the AWS SDK for C++ (http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem) // -// * Encryption settings All these settings come from the current settings -// of the source table at the time of restore. +// * PutItem in the AWS SDK for Go (http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem) // -// You must manually set up the following on the restored table: +// * PutItem in the AWS SDK for Java (http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem) // -// * Auto scaling policies +// * PutItem in the AWS SDK for JavaScript (http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem) // -// * IAM policies +// * PutItem in the AWS SDK for PHP V3 (http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem) // -// * Amazon CloudWatch metrics and alarms +// * PutItem in the AWS SDK for Python (http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem) // -// * Tags +// * PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem) // -// * Stream settings +// When you add an item, the primary key attributes are the only required attributes. +// Attribute values cannot be null. // -// * Time to Live (TTL) settings +// Empty String and Binary attribute values are allowed. Attribute values of +// type String and Binary must have a length greater than zero if the attribute +// is used as a key attribute for a table or index. Set type attributes cannot +// be empty. // -// * Point in time recovery settings +// Invalid Requests with empty values will be rejected with a ValidationException +// exception. +// +// To prevent a new item from replacing an existing item, use a conditional +// expression that contains the attribute_not_exists function with the name +// of the attribute being used as the partition key for the table. Since every +// record must contain that attribute, the attribute_not_exists function will +// only succeed if no matching item exists. +// +// For more information about PutItem, see Working with Items (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html) +// in the Amazon DynamoDB Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon DynamoDB's -// API operation RestoreTableToPointInTime for usage and error information. +// API operation PutItem for usage and error information. // // Returned Error Types: -// * TableAlreadyExistsException -// A target table with the specified name already exists. +// * ConditionalCheckFailedException +// A condition specified in the operation could not be evaluated. // -// * TableNotFoundException -// A source table with the name TableName does not currently exist within the -// subscriber's account. +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. // -// * TableInUseException -// A target table with the specified name is either being created or deleted. +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. // -// * LimitExceededException -// There is no limit to the number of daily on-demand backups that can be taken. +// * ItemCollectionSizeLimitExceededException +// An item collection is too large. This exception is only returned for tables +// that have one or more local secondary indexes. // -// Up to 50 simultaneous table operations are allowed per account. These operations -// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, -// and RestoreTableToPointInTime. +// * TransactionConflictException +// Operation was rejected because there is an ongoing transaction for the item. // -// The only exception is when you are creating a table with one or more secondary -// indexes. You can have up to 25 such requests running at a time; however, -// if the table or index specifications are complex, DynamoDB might temporarily -// reduce the number of concurrent operations. -// -// There is a soft account quota of 256 tables. -// -// * InvalidRestoreTimeException -// An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime -// and LatestRestorableDateTime. -// -// * PointInTimeRecoveryUnavailableException -// Point in time recovery has not yet been enabled for this source table. +// * RequestLimitExceeded +// Throughput exceeds the current throughput quota for your account. Please +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a quota increase. // // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime -func (c *DynamoDB) RestoreTableToPointInTime(input *RestoreTableToPointInTimeInput) (*RestoreTableToPointInTimeOutput, error) { - req, out := c.RestoreTableToPointInTimeRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem +func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) { + req, out := c.PutItemRequest(input) return out, req.Send() } -// RestoreTableToPointInTimeWithContext is the same as RestoreTableToPointInTime with the addition of +// PutItemWithContext is the same as PutItem with the addition of // the ability to pass a context and additional request options. // -// See RestoreTableToPointInTime for details on how to use this API operation. +// See PutItem 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 *DynamoDB) RestoreTableToPointInTimeWithContext(ctx aws.Context, input *RestoreTableToPointInTimeInput, opts ...request.Option) (*RestoreTableToPointInTimeOutput, error) { - req, out := c.RestoreTableToPointInTimeRequest(input) +func (c *DynamoDB) PutItemWithContext(ctx aws.Context, input *PutItemInput, opts ...request.Option) (*PutItemOutput, error) { + req, out := c.PutItemRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opScan = "Scan" +const opQuery = "Query" -// ScanRequest generates a "aws/request.Request" representing the -// client's request for the Scan operation. The "output" return +// QueryRequest generates a "aws/request.Request" representing the +// client's request for the Query 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 Scan for more information on using the Scan +// See Query for more information on using the Query // 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 ScanRequest method. -// req, resp := client.ScanRequest(params) +// // Example sending a request using the QueryRequest method. +// req, resp := client.QueryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan -func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output *ScanOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query +func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output *QueryOutput) { op := &request.Operation{ - Name: opScan, + Name: opQuery, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -4353,10 +4562,10 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * } if input == nil { - input = &ScanInput{} + input = &QueryInput{} } - output = &ScanOutput{} + output = &QueryOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -4386,43 +4595,63 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * return } -// Scan API operation for Amazon DynamoDB. +// Query API operation for Amazon DynamoDB. // -// The Scan operation returns one or more items and item attributes by accessing -// every item in a table or a secondary index. To have DynamoDB return fewer -// items, you can provide a FilterExpression operation. +// The Query operation finds items based on primary key values. You can query +// any table or secondary index that has a composite primary key (a partition +// key and a sort key). // -// If the total number of scanned items exceeds the maximum dataset size limit -// of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey -// value to continue the scan in a subsequent operation. The results also include -// the number of items exceeding the limit. A scan can result in no table data -// meeting the filter criteria. +// Use the KeyConditionExpression parameter to provide a specific value for +// the partition key. The Query operation will return all of the items from +// the table or index with that partition key value. You can optionally narrow +// the scope of the Query operation by specifying a sort key value and a comparison +// operator in KeyConditionExpression. To further refine the Query results, +// you can optionally provide a FilterExpression. A FilterExpression determines +// which items within the results should be returned to you. All of the other +// results are discarded. // -// A single Scan operation reads up to the maximum number of items set (if using -// the Limit parameter) or a maximum of 1 MB of data and then apply any filtering -// to the results using FilterExpression. If LastEvaluatedKey is present in -// the response, you need to paginate the result set. For more information, -// see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination) -// in the Amazon DynamoDB Developer Guide. +// A Query operation always returns a result set. If no matching items are found, +// the result set will be empty. Queries that do not return results consume +// the minimum number of read capacity units for that type of read operation. // -// Scan operations proceed sequentially; however, for faster performance on -// a large table or secondary index, applications can request a parallel Scan -// operation by providing the Segment and TotalSegments parameters. For more -// information, see Parallel Scan (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan) +// DynamoDB calculates the number of read capacity units consumed based on item +// size, not on the amount of data that is returned to an application. The number +// of capacity units consumed will be the same whether you request all of the +// attributes (the default behavior) or just some of them (using a projection +// expression). The number will also be the same whether or not you use a FilterExpression. +// +// Query results are always sorted by the sort key value. If the data type of +// the sort key is Number, the results are returned in numeric order; otherwise, +// the results are returned in order of UTF-8 bytes. By default, the sort order +// is ascending. To reverse the order, set the ScanIndexForward parameter to +// false. +// +// A single Query operation will read up to the maximum number of items set +// (if using the Limit parameter) or a maximum of 1 MB of data and then apply +// any filtering to the results using FilterExpression. If LastEvaluatedKey +// is present in the response, you will need to paginate the result set. For +// more information, see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination) // in the Amazon DynamoDB Developer Guide. // -// Scan uses eventually consistent reads when accessing the data in a table; -// therefore, the result set might not include the changes to data in the table -// immediately before the operation began. If you need a consistent copy of -// the data, as of the time that the Scan begins, you can set the ConsistentRead -// parameter to true. +// FilterExpression is applied after a Query finishes, but before the results +// are returned. A FilterExpression cannot contain partition key or sort key +// attributes. You need to specify those attributes in the KeyConditionExpression. +// +// A Query operation can return an empty result set and a LastEvaluatedKey if +// all the items read for the page of results are filtered out. +// +// You can query a table, a local secondary index, or a global secondary index. +// For a query on a table or on a local secondary index, you can set the ConsistentRead +// parameter to true and obtain a strongly consistent result. Global secondary +// indexes support eventually consistent reads only, so do not specify ConsistentRead +// when querying a global secondary index. // // 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 DynamoDB's -// API operation Scan for usage and error information. +// API operation Query for usage and error information. // // Returned Error Types: // * ProvisionedThroughputExceededException @@ -4445,65 +4674,65 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan -func (c *DynamoDB) Scan(input *ScanInput) (*ScanOutput, error) { - req, out := c.ScanRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query +func (c *DynamoDB) Query(input *QueryInput) (*QueryOutput, error) { + req, out := c.QueryRequest(input) return out, req.Send() } -// ScanWithContext is the same as Scan with the addition of +// QueryWithContext is the same as Query with the addition of // the ability to pass a context and additional request options. // -// See Scan for details on how to use this API operation. +// See Query 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 *DynamoDB) ScanWithContext(ctx aws.Context, input *ScanInput, opts ...request.Option) (*ScanOutput, error) { - req, out := c.ScanRequest(input) +func (c *DynamoDB) QueryWithContext(ctx aws.Context, input *QueryInput, opts ...request.Option) (*QueryOutput, error) { + req, out := c.QueryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ScanPages iterates over the pages of a Scan operation, +// QueryPages iterates over the pages of a Query operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See Scan method for more information on how to use this operation. +// See Query method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a Scan operation. +// // Example iterating over at most 3 pages of a Query operation. // pageNum := 0 -// err := client.ScanPages(params, -// func(page *dynamodb.ScanOutput, lastPage bool) bool { +// err := client.QueryPages(params, +// func(page *dynamodb.QueryOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *DynamoDB) ScanPages(input *ScanInput, fn func(*ScanOutput, bool) bool) error { - return c.ScanPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *DynamoDB) QueryPages(input *QueryInput, fn func(*QueryOutput, bool) bool) error { + return c.QueryPagesWithContext(aws.BackgroundContext(), input, fn) } -// ScanPagesWithContext same as ScanPages except +// QueryPagesWithContext same as QueryPages except // it takes a Context and allows setting request options on the pages. // // 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 *DynamoDB) ScanPagesWithContext(ctx aws.Context, input *ScanInput, fn func(*ScanOutput, bool) bool, opts ...request.Option) error { +func (c *DynamoDB) QueryPagesWithContext(ctx aws.Context, input *QueryInput, fn func(*QueryOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ScanInput + var inCpy *QueryInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ScanRequest(inCpy) + req, _ := c.QueryRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4511,7 +4740,7 @@ func (c *DynamoDB) ScanPagesWithContext(ctx aws.Context, input *ScanInput, fn fu } for p.Next() { - if !fn(p.Page().(*ScanOutput), !p.HasNextPage()) { + if !fn(p.Page().(*QueryOutput), !p.HasNextPage()) { break } } @@ -4519,46 +4748,45 @@ func (c *DynamoDB) ScanPagesWithContext(ctx aws.Context, input *ScanInput, fn fu return p.Err() } -const opTagResource = "TagResource" +const opRestoreTableFromBackup = "RestoreTableFromBackup" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// RestoreTableFromBackupRequest generates a "aws/request.Request" representing the +// client's request for the RestoreTableFromBackup 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 +// See RestoreTableFromBackup for more information on using the RestoreTableFromBackup // 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) +// // Example sending a request using the RestoreTableFromBackupRequest method. +// req, resp := client.RestoreTableFromBackupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource -func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup +func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupInput) (req *request.Request, output *RestoreTableFromBackupOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opRestoreTableFromBackup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TagResourceInput{} + input = &RestoreTableFromBackupInput{} } - output = &TagResourceOutput{} + output = &RestoreTableFromBackupOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { @@ -4587,24 +4815,48 @@ func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Req return } -// TagResource API operation for Amazon DynamoDB. +// RestoreTableFromBackup API operation for Amazon DynamoDB. // -// Associate a set of tags with an Amazon DynamoDB resource. You can then activate -// these user-defined tags so that they appear on the Billing and Cost Management -// console for cost allocation tracking. You can call TagResource up to five -// times per second, per account. +// Creates a new table from an existing backup. Any number of users can execute +// up to 4 concurrent restores (any type of restore) in a given account. // -// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) -// in the Amazon DynamoDB Developer Guide. +// You can call RestoreTableFromBackup at a maximum rate of 10 times per second. +// +// You must manually set up the following on the restored table: +// +// * Auto scaling policies +// +// * IAM policies +// +// * Amazon CloudWatch metrics and alarms +// +// * Tags +// +// * Stream settings +// +// * Time to Live (TTL) settings // // 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 DynamoDB's -// API operation TagResource for usage and error information. +// API operation RestoreTableFromBackup for usage and error information. // // Returned Error Types: +// * TableAlreadyExistsException +// A target table with the specified name already exists. +// +// * TableInUseException +// A target table with the specified name is either being created or deleted. +// +// * BackupNotFoundException +// Backup not found for the given BackupARN. +// +// * BackupInUseException +// There is another ongoing conflicting backup control plane operation on the +// table. The backup is either being created, deleted or restored to a table. +// // * LimitExceededException // There is no limit to the number of daily on-demand backups that can be taken. // @@ -4619,78 +4871,69 @@ func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Req // // There is a soft account quota of 256 tables. // -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. -// // * InternalServerError // An error occurred on the server side. // -// * ResourceInUseException -// The operation conflicts with the resource's availability. For example, you -// attempted to recreate an existing table, or tried to delete a table currently -// in the CREATING state. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource -func (c *DynamoDB) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup +func (c *DynamoDB) RestoreTableFromBackup(input *RestoreTableFromBackupInput) (*RestoreTableFromBackupOutput, error) { + req, out := c.RestoreTableFromBackupRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// RestoreTableFromBackupWithContext is the same as RestoreTableFromBackup 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. +// See RestoreTableFromBackup 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 *DynamoDB) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *DynamoDB) RestoreTableFromBackupWithContext(ctx aws.Context, input *RestoreTableFromBackupInput, opts ...request.Option) (*RestoreTableFromBackupOutput, error) { + req, out := c.RestoreTableFromBackupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTransactGetItems = "TransactGetItems" +const opRestoreTableToPointInTime = "RestoreTableToPointInTime" -// TransactGetItemsRequest generates a "aws/request.Request" representing the -// client's request for the TransactGetItems operation. The "output" return +// RestoreTableToPointInTimeRequest generates a "aws/request.Request" representing the +// client's request for the RestoreTableToPointInTime 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 TransactGetItems for more information on using the TransactGetItems +// See RestoreTableToPointInTime for more information on using the RestoreTableToPointInTime // 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 TransactGetItemsRequest method. -// req, resp := client.TransactGetItemsRequest(params) +// // Example sending a request using the RestoreTableToPointInTimeRequest method. +// req, resp := client.RestoreTableToPointInTimeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems -func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *request.Request, output *TransactGetItemsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime +func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointInTimeInput) (req *request.Request, output *RestoreTableToPointInTimeOutput) { op := &request.Operation{ - Name: opTransactGetItems, + Name: opRestoreTableToPointInTime, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TransactGetItemsInput{} + input = &RestoreTableToPointInTimeInput{} } - output = &TransactGetItemsOutput{} + output = &RestoreTableToPointInTimeOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -4720,204 +4963,153 @@ func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *r return } -// TransactGetItems API operation for Amazon DynamoDB. -// -// TransactGetItems is a synchronous operation that atomically retrieves multiple -// items from one or more tables (but not from indexes) in a single account -// and Region. A TransactGetItems call can contain up to 25 TransactGetItem -// objects, each of which contains a Get structure that specifies an item to -// retrieve from a table in the account and Region. A call to TransactGetItems -// cannot retrieve items from tables in more than one AWS account or Region. -// The aggregate size of the items in the transaction cannot exceed 4 MB. -// -// DynamoDB rejects the entire TransactGetItems request if any of the following -// is true: -// -// * A conflicting operation is in the process of updating an item to be -// read. -// -// * There is insufficient provisioned capacity for the transaction to be -// completed. -// -// * There is a user error, such as an invalid data format. -// -// * The aggregate size of the items in the transaction cannot exceed 4 MB. -// -// 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. +// RestoreTableToPointInTime API operation for Amazon DynamoDB. // -// See the AWS API reference guide for Amazon DynamoDB's -// API operation TransactGetItems for usage and error information. +// Restores the specified table to the specified point in time within EarliestRestorableDateTime +// and LatestRestorableDateTime. You can restore your table to any point in +// time during the last 35 days. Any number of users can execute up to 4 concurrent +// restores (any type of restore) in a given account. // -// Returned Error Types: -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. +// When you restore using point in time recovery, DynamoDB restores your table +// data to the state based on the selected date and time (day:hour:minute:second) +// to a new table. // -// * TransactionCanceledException -// The entire transaction request was canceled. +// Along with data, the following are also included on the new restored table +// using point in time recovery: // -// DynamoDB cancels a TransactWriteItems request under the following circumstances: +// * Global secondary indexes (GSIs) // -// * A condition in one of the condition expressions is not met. +// * Local secondary indexes (LSIs) // -// * A table in the TransactWriteItems request is in a different account -// or region. +// * Provisioned read and write capacity // -// * More than one action in the TransactWriteItems operation targets the -// same item. +// * Encryption settings All these settings come from the current settings +// of the source table at the time of restore. // -// * There is insufficient provisioned capacity for the transaction to be -// completed. +// You must manually set up the following on the restored table: // -// * An item size becomes too large (larger than 400 KB), or a local secondary -// index (LSI) becomes too large, or a similar validation error occurs because -// of changes made by the transaction. +// * Auto scaling policies // -// * There is a user error, such as an invalid data format. +// * IAM policies // -// DynamoDB cancels a TransactGetItems request under the following circumstances: +// * Amazon CloudWatch metrics and alarms // -// * There is an ongoing TransactGetItems operation that conflicts with a -// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. -// In this case the TransactGetItems operation fails with a TransactionCanceledException. +// * Tags // -// * A table in the TransactGetItems request is in a different account or -// region. +// * Stream settings // -// * There is insufficient provisioned capacity for the transaction to be -// completed. +// * Time to Live (TTL) settings // -// * There is a user error, such as an invalid data format. +// * Point in time recovery settings // -// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons -// property. This property is not set for other languages. Transaction cancellation -// reasons are ordered in the order of requested items, if an item has no error -// it will have NONE code and Null message. +// 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. // -// Cancellation reason codes and possible error messages: +// See the AWS API reference guide for Amazon DynamoDB's +// API operation RestoreTableToPointInTime for usage and error information. // -// * No Errors: Code: NONE Message: null +// Returned Error Types: +// * TableAlreadyExistsException +// A target table with the specified name already exists. // -// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The -// conditional request failed. +// * TableNotFoundException +// A source table with the name TableName does not currently exist within the +// subscriber's account. // -// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded -// Message: Collection size exceeded. +// * TableInUseException +// A target table with the specified name is either being created or deleted. // -// * Transaction Conflict: Code: TransactionConflict Message: Transaction -// is ongoing for the item. +// * LimitExceededException +// There is no limit to the number of daily on-demand backups that can be taken. // -// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded -// Messages: The level of configured provisioned throughput for the table -// was exceeded. Consider increasing your provisioning level with the UpdateTable -// API. This Message is received when provisioned throughput is exceeded -// is on a provisioned DynamoDB table. The level of configured provisioned -// throughput for one or more global secondary indexes of the table was exceeded. -// Consider increasing your provisioning level for the under-provisioned -// global secondary indexes with the UpdateTable API. This message is returned -// when provisioned throughput is exceeded is on a provisioned GSI. +// Up to 50 simultaneous table operations are allowed per account. These operations +// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, +// and RestoreTableToPointInTime. // -// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds -// the current capacity of your table or index. DynamoDB is automatically -// scaling your table or index so please try again shortly. If exceptions -// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. -// This message is returned when writes get throttled on an On-Demand table -// as DynamoDB is automatically scaling the table. Throughput exceeds the -// current capacity for one or more global secondary indexes. DynamoDB is -// automatically scaling your index so please try again shortly. This message -// is returned when when writes get throttled on an On-Demand GSI as DynamoDB -// is automatically scaling the GSI. +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. // -// * Validation Error: Code: ValidationError Messages: One or more parameter -// values were invalid. The update expression attempted to update the secondary -// index key beyond allowed size limits. The update expression attempted -// to update the secondary index key to unsupported type. An operand in the -// update expression has an incorrect data type. Item size to update has -// exceeded the maximum allowed size. Number overflow. Attempting to store -// a number with magnitude larger than supported range. Type mismatch for -// attribute to update. Nesting Levels have exceeded supported limits. The -// document path provided in the update expression is invalid for update. -// The provided expression refers to an attribute that does not exist in -// the item. +// There is a soft account quota of 256 tables. // -// * ProvisionedThroughputExceededException -// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry -// requests that receive this exception. Your request is eventually successful, -// unless your retry queue is too large to finish. Reduce the frequency of requests -// and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) -// in the Amazon DynamoDB Developer Guide. +// * InvalidRestoreTimeException +// An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime +// and LatestRestorableDateTime. // -// * RequestLimitExceeded -// Throughput exceeds the current throughput quota for your account. Please -// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request -// a quota increase. +// * PointInTimeRecoveryUnavailableException +// Point in time recovery has not yet been enabled for this source table. // // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems -func (c *DynamoDB) TransactGetItems(input *TransactGetItemsInput) (*TransactGetItemsOutput, error) { - req, out := c.TransactGetItemsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime +func (c *DynamoDB) RestoreTableToPointInTime(input *RestoreTableToPointInTimeInput) (*RestoreTableToPointInTimeOutput, error) { + req, out := c.RestoreTableToPointInTimeRequest(input) return out, req.Send() } -// TransactGetItemsWithContext is the same as TransactGetItems with the addition of +// RestoreTableToPointInTimeWithContext is the same as RestoreTableToPointInTime with the addition of // the ability to pass a context and additional request options. // -// See TransactGetItems for details on how to use this API operation. +// See RestoreTableToPointInTime 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 *DynamoDB) TransactGetItemsWithContext(ctx aws.Context, input *TransactGetItemsInput, opts ...request.Option) (*TransactGetItemsOutput, error) { - req, out := c.TransactGetItemsRequest(input) +func (c *DynamoDB) RestoreTableToPointInTimeWithContext(ctx aws.Context, input *RestoreTableToPointInTimeInput, opts ...request.Option) (*RestoreTableToPointInTimeOutput, error) { + req, out := c.RestoreTableToPointInTimeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTransactWriteItems = "TransactWriteItems" +const opScan = "Scan" -// TransactWriteItemsRequest generates a "aws/request.Request" representing the -// client's request for the TransactWriteItems operation. The "output" return +// ScanRequest generates a "aws/request.Request" representing the +// client's request for the Scan 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 TransactWriteItems for more information on using the TransactWriteItems +// See Scan for more information on using the Scan // 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 TransactWriteItemsRequest method. -// req, resp := client.TransactWriteItemsRequest(params) +// // Example sending a request using the ScanRequest method. +// req, resp := client.ScanRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems -func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (req *request.Request, output *TransactWriteItemsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan +func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output *ScanOutput) { op := &request.Operation{ - Name: opTransactWriteItems, + Name: opScan, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"ExclusiveStartKey"}, + OutputTokens: []string{"LastEvaluatedKey"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { - input = &TransactWriteItemsInput{} + input = &ScanInput{} } - output = &TransactWriteItemsOutput{} + output = &ScanOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -4947,169 +5139,45 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re return } -// TransactWriteItems API operation for Amazon DynamoDB. +// Scan API operation for Amazon DynamoDB. // -// TransactWriteItems is a synchronous write operation that groups up to 25 -// action requests. These actions can target items in different tables, but -// not in different AWS accounts or Regions, and no two actions can target the -// same item. For example, you cannot both ConditionCheck and Update the same -// item. The aggregate size of the items in the transaction cannot exceed 4 -// MB. +// The Scan operation returns one or more items and item attributes by accessing +// every item in a table or a secondary index. To have DynamoDB return fewer +// items, you can provide a FilterExpression operation. // -// The actions are completed atomically so that either all of them succeed, -// or all of them fail. They are defined by the following objects: +// If the total number of scanned items exceeds the maximum dataset size limit +// of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey +// value to continue the scan in a subsequent operation. The results also include +// the number of items exceeding the limit. A scan can result in no table data +// meeting the filter criteria. // -// * Put — Initiates a PutItem operation to write a new item. This structure -// specifies the primary key of the item to be written, the name of the table -// to write it in, an optional condition expression that must be satisfied -// for the write to succeed, a list of the item's attributes, and a field -// indicating whether to retrieve the item's attributes if the condition -// is not met. +// A single Scan operation reads up to the maximum number of items set (if using +// the Limit parameter) or a maximum of 1 MB of data and then apply any filtering +// to the results using FilterExpression. If LastEvaluatedKey is present in +// the response, you need to paginate the result set. For more information, +// see Paginating the Results (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination) +// in the Amazon DynamoDB Developer Guide. // -// * Update — Initiates an UpdateItem operation to update an existing item. -// This structure specifies the primary key of the item to be updated, the -// name of the table where it resides, an optional condition expression that -// must be satisfied for the update to succeed, an expression that defines -// one or more attributes to be updated, and a field indicating whether to -// retrieve the item's attributes if the condition is not met. +// Scan operations proceed sequentially; however, for faster performance on +// a large table or secondary index, applications can request a parallel Scan +// operation by providing the Segment and TotalSegments parameters. For more +// information, see Parallel Scan (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan) +// in the Amazon DynamoDB Developer Guide. // -// * Delete — Initiates a DeleteItem operation to delete an existing item. -// This structure specifies the primary key of the item to be deleted, the -// name of the table where it resides, an optional condition expression that -// must be satisfied for the deletion to succeed, and a field indicating -// whether to retrieve the item's attributes if the condition is not met. -// -// * ConditionCheck — Applies a condition to an item that is not being -// modified by the transaction. This structure specifies the primary key -// of the item to be checked, the name of the table where it resides, a condition -// expression that must be satisfied for the transaction to succeed, and -// a field indicating whether to retrieve the item's attributes if the condition -// is not met. -// -// DynamoDB rejects the entire TransactWriteItems request if any of the following -// is true: -// -// * A condition in one of the condition expressions is not met. -// -// * An ongoing operation is in the process of updating the same item. -// -// * There is insufficient provisioned capacity for the transaction to be -// completed. -// -// * An item size becomes too large (bigger than 400 KB), a local secondary -// index (LSI) becomes too large, or a similar validation error occurs because -// of changes made by the transaction. -// -// * The aggregate size of the items in the transaction exceeds 4 MB. -// -// * There is a user error, such as an invalid data format. +// Scan uses eventually consistent reads when accessing the data in a table; +// therefore, the result set might not include the changes to data in the table +// immediately before the operation began. If you need a consistent copy of +// the data, as of the time that the Scan begins, you can set the ConsistentRead +// parameter to true. // // 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 DynamoDB's -// API operation TransactWriteItems for usage and error information. +// API operation Scan for usage and error information. // // Returned Error Types: -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. -// -// * TransactionCanceledException -// The entire transaction request was canceled. -// -// DynamoDB cancels a TransactWriteItems request under the following circumstances: -// -// * A condition in one of the condition expressions is not met. -// -// * A table in the TransactWriteItems request is in a different account -// or region. -// -// * More than one action in the TransactWriteItems operation targets the -// same item. -// -// * There is insufficient provisioned capacity for the transaction to be -// completed. -// -// * An item size becomes too large (larger than 400 KB), or a local secondary -// index (LSI) becomes too large, or a similar validation error occurs because -// of changes made by the transaction. -// -// * There is a user error, such as an invalid data format. -// -// DynamoDB cancels a TransactGetItems request under the following circumstances: -// -// * There is an ongoing TransactGetItems operation that conflicts with a -// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. -// In this case the TransactGetItems operation fails with a TransactionCanceledException. -// -// * A table in the TransactGetItems request is in a different account or -// region. -// -// * There is insufficient provisioned capacity for the transaction to be -// completed. -// -// * There is a user error, such as an invalid data format. -// -// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons -// property. This property is not set for other languages. Transaction cancellation -// reasons are ordered in the order of requested items, if an item has no error -// it will have NONE code and Null message. -// -// Cancellation reason codes and possible error messages: -// -// * No Errors: Code: NONE Message: null -// -// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The -// conditional request failed. -// -// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded -// Message: Collection size exceeded. -// -// * Transaction Conflict: Code: TransactionConflict Message: Transaction -// is ongoing for the item. -// -// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded -// Messages: The level of configured provisioned throughput for the table -// was exceeded. Consider increasing your provisioning level with the UpdateTable -// API. This Message is received when provisioned throughput is exceeded -// is on a provisioned DynamoDB table. The level of configured provisioned -// throughput for one or more global secondary indexes of the table was exceeded. -// Consider increasing your provisioning level for the under-provisioned -// global secondary indexes with the UpdateTable API. This message is returned -// when provisioned throughput is exceeded is on a provisioned GSI. -// -// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds -// the current capacity of your table or index. DynamoDB is automatically -// scaling your table or index so please try again shortly. If exceptions -// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. -// This message is returned when writes get throttled on an On-Demand table -// as DynamoDB is automatically scaling the table. Throughput exceeds the -// current capacity for one or more global secondary indexes. DynamoDB is -// automatically scaling your index so please try again shortly. This message -// is returned when when writes get throttled on an On-Demand GSI as DynamoDB -// is automatically scaling the GSI. -// -// * Validation Error: Code: ValidationError Messages: One or more parameter -// values were invalid. The update expression attempted to update the secondary -// index key beyond allowed size limits. The update expression attempted -// to update the secondary index key to unsupported type. An operand in the -// update expression has an incorrect data type. Item size to update has -// exceeded the maximum allowed size. Number overflow. Attempting to store -// a number with magnitude larger than supported range. Type mismatch for -// attribute to update. Nesting Levels have exceeded supported limits. The -// document path provided in the update expression is invalid for update. -// The provided expression refers to an attribute that does not exist in -// the item. -// -// * TransactionInProgressException -// The transaction with the given request token is already in progress. -// -// * IdempotentParameterMismatchException -// DynamoDB rejected the request because you retried a request with a different -// payload but with an idempotent token that was already used. -// // * ProvisionedThroughputExceededException // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry // requests that receive this exception. Your request is eventually successful, @@ -5118,6 +5186,10 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re // Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) // in the Amazon DynamoDB Developer Guide. // +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// // * RequestLimitExceeded // Throughput exceeds the current throughput quota for your account. Please // contact AWS Support at AWS Support (https://aws.amazon.com/support) to request @@ -5126,66 +5198,118 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems -func (c *DynamoDB) TransactWriteItems(input *TransactWriteItemsInput) (*TransactWriteItemsOutput, error) { - req, out := c.TransactWriteItemsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan +func (c *DynamoDB) Scan(input *ScanInput) (*ScanOutput, error) { + req, out := c.ScanRequest(input) return out, req.Send() } -// TransactWriteItemsWithContext is the same as TransactWriteItems with the addition of +// ScanWithContext is the same as Scan with the addition of // the ability to pass a context and additional request options. // -// See TransactWriteItems for details on how to use this API operation. +// See Scan 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 *DynamoDB) TransactWriteItemsWithContext(ctx aws.Context, input *TransactWriteItemsInput, opts ...request.Option) (*TransactWriteItemsOutput, error) { - req, out := c.TransactWriteItemsRequest(input) +func (c *DynamoDB) ScanWithContext(ctx aws.Context, input *ScanInput, opts ...request.Option) (*ScanOutput, error) { + req, out := c.ScanRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +// ScanPages iterates over the pages of a Scan operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See Scan method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a Scan operation. +// pageNum := 0 +// err := client.ScanPages(params, +// func(page *dynamodb.ScanOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DynamoDB) ScanPages(input *ScanInput, fn func(*ScanOutput, bool) bool) error { + return c.ScanPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// ScanPagesWithContext same as ScanPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *DynamoDB) ScanPagesWithContext(ctx aws.Context, input *ScanInput, fn func(*ScanOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ScanInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ScanRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ScanOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // 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/dynamodb-2012-08-10/UntagResource -func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource +func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UntagResourceInput{} + input = &TagResourceInput{} } - output = &UntagResourceOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) // if custom endpoint for the request is set to a non empty string, @@ -5216,10 +5340,12 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request return } -// UntagResource API operation for Amazon DynamoDB. +// TagResource API operation for Amazon DynamoDB. // -// Removes the association of tags from an Amazon DynamoDB resource. You can -// call UntagResource up to five times per second, per account. +// Associate a set of tags with an Amazon DynamoDB resource. You can then activate +// these user-defined tags so that they appear on the Billing and Cost Management +// console for cost allocation tracking. You can call TagResource up to five +// times per second, per account. // // For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) // in the Amazon DynamoDB Developer Guide. @@ -5229,7 +5355,7 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request // the error. // // See the AWS API reference guide for Amazon DynamoDB's -// API operation UntagResource for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Types: // * LimitExceededException @@ -5258,66 +5384,66 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request // attempted to recreate an existing table, or tried to delete a table currently // in the CREATING state. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource -func (c *DynamoDB) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource +func (c *DynamoDB) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// TagResourceWithContext is the same as TagResource 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. +// 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 *DynamoDB) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *DynamoDB) 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 opUpdateContinuousBackups = "UpdateContinuousBackups" +const opTransactGetItems = "TransactGetItems" -// UpdateContinuousBackupsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateContinuousBackups operation. The "output" return +// TransactGetItemsRequest generates a "aws/request.Request" representing the +// client's request for the TransactGetItems 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 UpdateContinuousBackups for more information on using the UpdateContinuousBackups +// See TransactGetItems for more information on using the TransactGetItems // 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 UpdateContinuousBackupsRequest method. -// req, resp := client.UpdateContinuousBackupsRequest(params) +// // Example sending a request using the TransactGetItemsRequest method. +// req, resp := client.TransactGetItemsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups -func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackupsInput) (req *request.Request, output *UpdateContinuousBackupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems +func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *request.Request, output *TransactGetItemsOutput) { op := &request.Operation{ - Name: opUpdateContinuousBackups, + Name: opTransactGetItems, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateContinuousBackupsInput{} + input = &TransactGetItemsInput{} } - output = &UpdateContinuousBackupsOutput{} + output = &TransactGetItemsOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -5347,181 +5473,204 @@ func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackups return } -// UpdateContinuousBackups API operation for Amazon DynamoDB. +// TransactGetItems API operation for Amazon DynamoDB. // -// UpdateContinuousBackups enables or disables point in time recovery for the -// specified table. A successful UpdateContinuousBackups call returns the current -// ContinuousBackupsDescription. Continuous backups are ENABLED on all tables -// at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus -// will be set to ENABLED. +// TransactGetItems is a synchronous operation that atomically retrieves multiple +// items from one or more tables (but not from indexes) in a single account +// and Region. A TransactGetItems call can contain up to 25 TransactGetItem +// objects, each of which contains a Get structure that specifies an item to +// retrieve from a table in the account and Region. A call to TransactGetItems +// cannot retrieve items from tables in more than one AWS account or Region. +// The aggregate size of the items in the transaction cannot exceed 4 MB. // -// Once continuous backups and point in time recovery are enabled, you can restore -// to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. +// DynamoDB rejects the entire TransactGetItems request if any of the following +// is true: // -// LatestRestorableDateTime is typically 5 minutes before the current time. -// You can restore your table to any point in time during the last 35 days. +// * A conflicting operation is in the process of updating an item to be +// read. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * There is a user error, such as an invalid data format. +// +// * The aggregate size of the items in the transaction cannot exceed 4 MB. // // 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 DynamoDB's -// API operation UpdateContinuousBackups for usage and error information. +// API operation TransactGetItems for usage and error information. // // Returned Error Types: -// * TableNotFoundException -// A source table with the name TableName does not currently exist within the -// subscriber's account. +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. // -// * ContinuousBackupsUnavailableException -// Backups have not yet been enabled for this table. +// * TransactionCanceledException +// The entire transaction request was canceled. // -// * InternalServerError -// An error occurred on the server side. +// DynamoDB cancels a TransactWriteItems request under the following circumstances: // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups -func (c *DynamoDB) UpdateContinuousBackups(input *UpdateContinuousBackupsInput) (*UpdateContinuousBackupsOutput, error) { - req, out := c.UpdateContinuousBackupsRequest(input) - return out, req.Send() -} - -// UpdateContinuousBackupsWithContext is the same as UpdateContinuousBackups with the addition of -// the ability to pass a context and additional request options. +// * A condition in one of the condition expressions is not met. // -// See UpdateContinuousBackups for details on how to use this API operation. +// * A table in the TransactWriteItems request is in a different account +// or region. // -// 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 *DynamoDB) UpdateContinuousBackupsWithContext(ctx aws.Context, input *UpdateContinuousBackupsInput, opts ...request.Option) (*UpdateContinuousBackupsOutput, error) { - req, out := c.UpdateContinuousBackupsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdateContributorInsights = "UpdateContributorInsights" - -// UpdateContributorInsightsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateContributorInsights operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +// * More than one action in the TransactWriteItems operation targets the +// same item. // -// 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. +// * There is insufficient provisioned capacity for the transaction to be +// completed. // -// See UpdateContributorInsights for more information on using the UpdateContributorInsights -// API call, and error handling. +// * An item size becomes too large (larger than 400 KB), or a local secondary +// index (LSI) becomes too large, or a similar validation error occurs because +// of changes made by the transaction. // -// 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. +// * There is a user error, such as an invalid data format. // +// DynamoDB cancels a TransactGetItems request under the following circumstances: // -// // Example sending a request using the UpdateContributorInsightsRequest method. -// req, resp := client.UpdateContributorInsightsRequest(params) +// * There is an ongoing TransactGetItems operation that conflicts with a +// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. +// In this case the TransactGetItems operation fails with a TransactionCanceledException. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// * A table in the TransactGetItems request is in a different account or +// region. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContributorInsights -func (c *DynamoDB) UpdateContributorInsightsRequest(input *UpdateContributorInsightsInput) (req *request.Request, output *UpdateContributorInsightsOutput) { - op := &request.Operation{ - Name: opUpdateContributorInsights, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateContributorInsightsInput{} - } - - output = &UpdateContributorInsightsOutput{} - req = c.newRequest(op, input, output) - return -} - -// UpdateContributorInsights API operation for Amazon DynamoDB. +// * There is insufficient provisioned capacity for the transaction to be +// completed. // -// Updates the status for contributor insights for a specific table or index. +// * There is a user error, such as an invalid data format. // -// 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. +// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons +// property. This property is not set for other languages. Transaction cancellation +// reasons are ordered in the order of requested items, if an item has no error +// it will have NONE code and Null message. // -// See the AWS API reference guide for Amazon DynamoDB's -// API operation UpdateContributorInsights for usage and error information. +// Cancellation reason codes and possible error messages: // -// Returned Error Types: -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. +// * No Errors: Code: NONE Message: null +// +// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The +// conditional request failed. +// +// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded +// Message: Collection size exceeded. +// +// * Transaction Conflict: Code: TransactionConflict Message: Transaction +// is ongoing for the item. +// +// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded +// Messages: The level of configured provisioned throughput for the table +// was exceeded. Consider increasing your provisioning level with the UpdateTable +// API. This Message is received when provisioned throughput is exceeded +// is on a provisioned DynamoDB table. The level of configured provisioned +// throughput for one or more global secondary indexes of the table was exceeded. +// Consider increasing your provisioning level for the under-provisioned +// global secondary indexes with the UpdateTable API. This message is returned +// when provisioned throughput is exceeded is on a provisioned GSI. +// +// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds +// the current capacity of your table or index. DynamoDB is automatically +// scaling your table or index so please try again shortly. If exceptions +// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. +// This message is returned when writes get throttled on an On-Demand table +// as DynamoDB is automatically scaling the table. Throughput exceeds the +// current capacity for one or more global secondary indexes. DynamoDB is +// automatically scaling your index so please try again shortly. This message +// is returned when when writes get throttled on an On-Demand GSI as DynamoDB +// is automatically scaling the GSI. +// +// * Validation Error: Code: ValidationError Messages: One or more parameter +// values were invalid. The update expression attempted to update the secondary +// index key beyond allowed size limits. The update expression attempted +// to update the secondary index key to unsupported type. An operand in the +// update expression has an incorrect data type. Item size to update has +// exceeded the maximum allowed size. Number overflow. Attempting to store +// a number with magnitude larger than supported range. Type mismatch for +// attribute to update. Nesting Levels have exceeded supported limits. The +// document path provided in the update expression is invalid for update. +// The provided expression refers to an attribute that does not exist in +// the item. +// +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. +// +// * RequestLimitExceeded +// Throughput exceeds the current throughput quota for your account. Please +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a quota increase. // // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContributorInsights -func (c *DynamoDB) UpdateContributorInsights(input *UpdateContributorInsightsInput) (*UpdateContributorInsightsOutput, error) { - req, out := c.UpdateContributorInsightsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems +func (c *DynamoDB) TransactGetItems(input *TransactGetItemsInput) (*TransactGetItemsOutput, error) { + req, out := c.TransactGetItemsRequest(input) return out, req.Send() } -// UpdateContributorInsightsWithContext is the same as UpdateContributorInsights with the addition of +// TransactGetItemsWithContext is the same as TransactGetItems with the addition of // the ability to pass a context and additional request options. // -// See UpdateContributorInsights for details on how to use this API operation. +// See TransactGetItems 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 *DynamoDB) UpdateContributorInsightsWithContext(ctx aws.Context, input *UpdateContributorInsightsInput, opts ...request.Option) (*UpdateContributorInsightsOutput, error) { - req, out := c.UpdateContributorInsightsRequest(input) +func (c *DynamoDB) TransactGetItemsWithContext(ctx aws.Context, input *TransactGetItemsInput, opts ...request.Option) (*TransactGetItemsOutput, error) { + req, out := c.TransactGetItemsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateGlobalTable = "UpdateGlobalTable" +const opTransactWriteItems = "TransactWriteItems" -// UpdateGlobalTableRequest generates a "aws/request.Request" representing the -// client's request for the UpdateGlobalTable operation. The "output" return +// TransactWriteItemsRequest generates a "aws/request.Request" representing the +// client's request for the TransactWriteItems 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 UpdateGlobalTable for more information on using the UpdateGlobalTable +// See TransactWriteItems for more information on using the TransactWriteItems // 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 UpdateGlobalTableRequest method. -// req, resp := client.UpdateGlobalTableRequest(params) +// // Example sending a request using the TransactWriteItemsRequest method. +// req, resp := client.TransactWriteItemsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable -func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req *request.Request, output *UpdateGlobalTableOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems +func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (req *request.Request, output *TransactWriteItemsOutput) { op := &request.Operation{ - Name: opUpdateGlobalTable, + Name: opTransactWriteItems, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateGlobalTableInput{} + input = &TransactWriteItemsInput{} } - output = &UpdateGlobalTableOutput{} + output = &TransactWriteItemsOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -5551,114 +5700,247 @@ func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req return } -// UpdateGlobalTable API operation for Amazon DynamoDB. -// -// Adds or removes replicas in the specified global table. The global table -// must already exist to be able to use this operation. Any replica to be added -// must be empty, have the same name as the global table, have the same key -// schema, have DynamoDB Streams enabled, and have the same provisioned and -// maximum write capacity units. +// TransactWriteItems API operation for Amazon DynamoDB. // -// Although you can use UpdateGlobalTable to add replicas and remove replicas -// in a single request, for simplicity we recommend that you issue separate -// requests for adding or removing replicas. +// TransactWriteItems is a synchronous write operation that groups up to 25 +// action requests. These actions can target items in different tables, but +// not in different AWS accounts or Regions, and no two actions can target the +// same item. For example, you cannot both ConditionCheck and Update the same +// item. The aggregate size of the items in the transaction cannot exceed 4 +// MB. // -// If global secondary indexes are specified, then the following conditions -// must also be met: +// The actions are completed atomically so that either all of them succeed, +// or all of them fail. They are defined by the following objects: // -// * The global secondary indexes must have the same name. +// * Put — Initiates a PutItem operation to write a new item. This structure +// specifies the primary key of the item to be written, the name of the table +// to write it in, an optional condition expression that must be satisfied +// for the write to succeed, a list of the item's attributes, and a field +// indicating whether to retrieve the item's attributes if the condition +// is not met. // -// * The global secondary indexes must have the same hash key and sort key -// (if present). +// * Update — Initiates an UpdateItem operation to update an existing item. +// This structure specifies the primary key of the item to be updated, the +// name of the table where it resides, an optional condition expression that +// must be satisfied for the update to succeed, an expression that defines +// one or more attributes to be updated, and a field indicating whether to +// retrieve the item's attributes if the condition is not met. // -// * The global secondary indexes must have the same provisioned and maximum -// write capacity units. +// * Delete — Initiates a DeleteItem operation to delete an existing item. +// This structure specifies the primary key of the item to be deleted, the +// name of the table where it resides, an optional condition expression that +// must be satisfied for the deletion to succeed, and a field indicating +// whether to retrieve the item's attributes if the condition is not met. +// +// * ConditionCheck — Applies a condition to an item that is not being +// modified by the transaction. This structure specifies the primary key +// of the item to be checked, the name of the table where it resides, a condition +// expression that must be satisfied for the transaction to succeed, and +// a field indicating whether to retrieve the item's attributes if the condition +// is not met. +// +// DynamoDB rejects the entire TransactWriteItems request if any of the following +// is true: +// +// * A condition in one of the condition expressions is not met. +// +// * An ongoing operation is in the process of updating the same item. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * An item size becomes too large (bigger than 400 KB), a local secondary +// index (LSI) becomes too large, or a similar validation error occurs because +// of changes made by the transaction. +// +// * The aggregate size of the items in the transaction exceeds 4 MB. +// +// * There is a user error, such as an invalid data format. // // 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 DynamoDB's -// API operation UpdateGlobalTable for usage and error information. +// API operation TransactWriteItems for usage and error information. // // Returned Error Types: -// * InternalServerError -// An error occurred on the server side. +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. // -// * GlobalTableNotFoundException -// The specified global table does not exist. +// * TransactionCanceledException +// The entire transaction request was canceled. // -// * ReplicaAlreadyExistsException -// The specified replica is already part of the global table. +// DynamoDB cancels a TransactWriteItems request under the following circumstances: // -// * ReplicaNotFoundException -// The specified replica is no longer part of the global table. +// * A condition in one of the condition expressions is not met. // -// * TableNotFoundException -// A source table with the name TableName does not currently exist within the -// subscriber's account. +// * A table in the TransactWriteItems request is in a different account +// or region. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable -func (c *DynamoDB) UpdateGlobalTable(input *UpdateGlobalTableInput) (*UpdateGlobalTableOutput, error) { - req, out := c.UpdateGlobalTableRequest(input) +// * More than one action in the TransactWriteItems operation targets the +// same item. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * An item size becomes too large (larger than 400 KB), or a local secondary +// index (LSI) becomes too large, or a similar validation error occurs because +// of changes made by the transaction. +// +// * There is a user error, such as an invalid data format. +// +// DynamoDB cancels a TransactGetItems request under the following circumstances: +// +// * There is an ongoing TransactGetItems operation that conflicts with a +// concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. +// In this case the TransactGetItems operation fails with a TransactionCanceledException. +// +// * A table in the TransactGetItems request is in a different account or +// region. +// +// * There is insufficient provisioned capacity for the transaction to be +// completed. +// +// * There is a user error, such as an invalid data format. +// +// If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons +// property. This property is not set for other languages. Transaction cancellation +// reasons are ordered in the order of requested items, if an item has no error +// it will have NONE code and Null message. +// +// Cancellation reason codes and possible error messages: +// +// * No Errors: Code: NONE Message: null +// +// * Conditional Check Failed: Code: ConditionalCheckFailed Message: The +// conditional request failed. +// +// * Item Collection Size Limit Exceeded: Code: ItemCollectionSizeLimitExceeded +// Message: Collection size exceeded. +// +// * Transaction Conflict: Code: TransactionConflict Message: Transaction +// is ongoing for the item. +// +// * Provisioned Throughput Exceeded: Code: ProvisionedThroughputExceeded +// Messages: The level of configured provisioned throughput for the table +// was exceeded. Consider increasing your provisioning level with the UpdateTable +// API. This Message is received when provisioned throughput is exceeded +// is on a provisioned DynamoDB table. The level of configured provisioned +// throughput for one or more global secondary indexes of the table was exceeded. +// Consider increasing your provisioning level for the under-provisioned +// global secondary indexes with the UpdateTable API. This message is returned +// when provisioned throughput is exceeded is on a provisioned GSI. +// +// * Throttling Error: Code: ThrottlingError Messages: Throughput exceeds +// the current capacity of your table or index. DynamoDB is automatically +// scaling your table or index so please try again shortly. If exceptions +// persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. +// This message is returned when writes get throttled on an On-Demand table +// as DynamoDB is automatically scaling the table. Throughput exceeds the +// current capacity for one or more global secondary indexes. DynamoDB is +// automatically scaling your index so please try again shortly. This message +// is returned when when writes get throttled on an On-Demand GSI as DynamoDB +// is automatically scaling the GSI. +// +// * Validation Error: Code: ValidationError Messages: One or more parameter +// values were invalid. The update expression attempted to update the secondary +// index key beyond allowed size limits. The update expression attempted +// to update the secondary index key to unsupported type. An operand in the +// update expression has an incorrect data type. Item size to update has +// exceeded the maximum allowed size. Number overflow. Attempting to store +// a number with magnitude larger than supported range. Type mismatch for +// attribute to update. Nesting Levels have exceeded supported limits. The +// document path provided in the update expression is invalid for update. +// The provided expression refers to an attribute that does not exist in +// the item. +// +// * TransactionInProgressException +// The transaction with the given request token is already in progress. +// +// * IdempotentParameterMismatchException +// DynamoDB rejected the request because you retried a request with a different +// payload but with an idempotent token that was already used. +// +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. +// +// * RequestLimitExceeded +// Throughput exceeds the current throughput quota for your account. Please +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a quota increase. +// +// * InternalServerError +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems +func (c *DynamoDB) TransactWriteItems(input *TransactWriteItemsInput) (*TransactWriteItemsOutput, error) { + req, out := c.TransactWriteItemsRequest(input) return out, req.Send() } -// UpdateGlobalTableWithContext is the same as UpdateGlobalTable with the addition of +// TransactWriteItemsWithContext is the same as TransactWriteItems with the addition of // the ability to pass a context and additional request options. // -// See UpdateGlobalTable for details on how to use this API operation. +// See TransactWriteItems 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 *DynamoDB) UpdateGlobalTableWithContext(ctx aws.Context, input *UpdateGlobalTableInput, opts ...request.Option) (*UpdateGlobalTableOutput, error) { - req, out := c.UpdateGlobalTableRequest(input) +func (c *DynamoDB) TransactWriteItemsWithContext(ctx aws.Context, input *TransactWriteItemsInput, opts ...request.Option) (*TransactWriteItemsOutput, error) { + req, out := c.TransactWriteItemsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateGlobalTableSettings = "UpdateGlobalTableSettings" +const opUntagResource = "UntagResource" -// UpdateGlobalTableSettingsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateGlobalTableSettings operation. The "output" return +// 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 UpdateGlobalTableSettings for more information on using the UpdateGlobalTableSettings +// 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 UpdateGlobalTableSettingsRequest method. -// req, resp := client.UpdateGlobalTableSettingsRequest(params) +// // 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/dynamodb-2012-08-10/UpdateGlobalTableSettings -func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSettingsInput) (req *request.Request, output *UpdateGlobalTableSettingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource +func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ - Name: opUpdateGlobalTableSettings, + Name: opUntagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateGlobalTableSettingsInput{} + input = &UntagResourceInput{} } - output = &UpdateGlobalTableSettingsOutput{} + output = &UntagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { @@ -5687,27 +5969,22 @@ func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSett return } -// UpdateGlobalTableSettings API operation for Amazon DynamoDB. +// UntagResource API operation for Amazon DynamoDB. // -// Updates settings for a global table. +// Removes the association of tags from an Amazon DynamoDB resource. You can +// call UntagResource up to five times per second, per account. +// +// For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) +// in the Amazon DynamoDB Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon DynamoDB's -// API operation UpdateGlobalTableSettings for usage and error information. +// API operation UntagResource for usage and error information. // // Returned Error Types: -// * GlobalTableNotFoundException -// The specified global table does not exist. -// -// * ReplicaNotFoundException -// The specified replica is no longer part of the global table. -// -// * IndexNotFoundException -// The operation tried to access a nonexistent index. -// // * LimitExceededException // There is no limit to the number of daily on-demand backups that can be taken. // @@ -5722,74 +5999,78 @@ func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSett // // There is a soft account quota of 256 tables. // +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * InternalServerError +// An error occurred on the server side. +// // * ResourceInUseException // The operation conflicts with the resource's availability. For example, you // attempted to recreate an existing table, or tried to delete a table currently // in the CREATING state. // -// * InternalServerError -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings -func (c *DynamoDB) UpdateGlobalTableSettings(input *UpdateGlobalTableSettingsInput) (*UpdateGlobalTableSettingsOutput, error) { - req, out := c.UpdateGlobalTableSettingsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource +func (c *DynamoDB) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdateGlobalTableSettingsWithContext is the same as UpdateGlobalTableSettings with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateGlobalTableSettings for details on how to use this API operation. +// 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 *DynamoDB) UpdateGlobalTableSettingsWithContext(ctx aws.Context, input *UpdateGlobalTableSettingsInput, opts ...request.Option) (*UpdateGlobalTableSettingsOutput, error) { - req, out := c.UpdateGlobalTableSettingsRequest(input) +func (c *DynamoDB) 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 opUpdateItem = "UpdateItem" +const opUpdateContinuousBackups = "UpdateContinuousBackups" -// UpdateItemRequest generates a "aws/request.Request" representing the -// client's request for the UpdateItem operation. The "output" return +// UpdateContinuousBackupsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateContinuousBackups 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 UpdateItem for more information on using the UpdateItem +// See UpdateContinuousBackups for more information on using the UpdateContinuousBackups // 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 UpdateItemRequest method. -// req, resp := client.UpdateItemRequest(params) +// // Example sending a request using the UpdateContinuousBackupsRequest method. +// req, resp := client.UpdateContinuousBackupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem -func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Request, output *UpdateItemOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups +func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackupsInput) (req *request.Request, output *UpdateContinuousBackupsOutput) { op := &request.Operation{ - Name: opUpdateItem, + Name: opUpdateContinuousBackups, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateItemInput{} + input = &UpdateContinuousBackupsInput{} } - output = &UpdateItemOutput{} + output = &UpdateContinuousBackupsOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -5819,364 +6100,317 @@ func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Reque return } -// UpdateItem API operation for Amazon DynamoDB. +// UpdateContinuousBackups API operation for Amazon DynamoDB. // -// Edits an existing item's attributes, or adds a new item to the table if it -// does not already exist. You can put, delete, or add attribute values. You -// can also perform a conditional update on an existing item (insert a new attribute -// name-value pair if it doesn't exist, or replace an existing name-value pair -// if it has certain expected attribute values). +// UpdateContinuousBackups enables or disables point in time recovery for the +// specified table. A successful UpdateContinuousBackups call returns the current +// ContinuousBackupsDescription. Continuous backups are ENABLED on all tables +// at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus +// will be set to ENABLED. // -// You can also return the item's attribute values in the same UpdateItem operation -// using the ReturnValues parameter. +// Once continuous backups and point in time recovery are enabled, you can restore +// to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime. +// +// LatestRestorableDateTime is typically 5 minutes before the current time. +// You can restore your table to any point in time during the last 35 days. // // 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 DynamoDB's -// API operation UpdateItem for usage and error information. +// API operation UpdateContinuousBackups for usage and error information. // // Returned Error Types: -// * ConditionalCheckFailedException -// A condition specified in the operation could not be evaluated. -// -// * ProvisionedThroughputExceededException -// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry -// requests that receive this exception. Your request is eventually successful, -// unless your retry queue is too large to finish. Reduce the frequency of requests -// and use exponential backoff. For more information, go to Error Retries and -// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) -// in the Amazon DynamoDB Developer Guide. -// -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. -// -// * ItemCollectionSizeLimitExceededException -// An item collection is too large. This exception is only returned for tables -// that have one or more local secondary indexes. -// -// * TransactionConflictException -// Operation was rejected because there is an ongoing transaction for the item. +// * TableNotFoundException +// A source table with the name TableName does not currently exist within the +// subscriber's account. // -// * RequestLimitExceeded -// Throughput exceeds the current throughput quota for your account. Please -// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request -// a quota increase. +// * ContinuousBackupsUnavailableException +// Backups have not yet been enabled for this table. // // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem -func (c *DynamoDB) UpdateItem(input *UpdateItemInput) (*UpdateItemOutput, error) { - req, out := c.UpdateItemRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups +func (c *DynamoDB) UpdateContinuousBackups(input *UpdateContinuousBackupsInput) (*UpdateContinuousBackupsOutput, error) { + req, out := c.UpdateContinuousBackupsRequest(input) return out, req.Send() } -// UpdateItemWithContext is the same as UpdateItem with the addition of +// UpdateContinuousBackupsWithContext is the same as UpdateContinuousBackups with the addition of // the ability to pass a context and additional request options. // -// See UpdateItem for details on how to use this API operation. +// See UpdateContinuousBackups 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 *DynamoDB) UpdateItemWithContext(ctx aws.Context, input *UpdateItemInput, opts ...request.Option) (*UpdateItemOutput, error) { - req, out := c.UpdateItemRequest(input) +func (c *DynamoDB) UpdateContinuousBackupsWithContext(ctx aws.Context, input *UpdateContinuousBackupsInput, opts ...request.Option) (*UpdateContinuousBackupsOutput, error) { + req, out := c.UpdateContinuousBackupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTable = "UpdateTable" +const opUpdateContributorInsights = "UpdateContributorInsights" -// UpdateTableRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTable operation. The "output" return +// UpdateContributorInsightsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateContributorInsights 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 UpdateTable for more information on using the UpdateTable +// See UpdateContributorInsights for more information on using the UpdateContributorInsights // 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 UpdateTableRequest method. -// req, resp := client.UpdateTableRequest(params) +// // Example sending a request using the UpdateContributorInsightsRequest method. +// req, resp := client.UpdateContributorInsightsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable -func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContributorInsights +func (c *DynamoDB) UpdateContributorInsightsRequest(input *UpdateContributorInsightsInput) (req *request.Request, output *UpdateContributorInsightsOutput) { op := &request.Operation{ - Name: opUpdateTable, + Name: opUpdateContributorInsights, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateTableInput{} + input = &UpdateContributorInsightsInput{} } - output = &UpdateTableOutput{} + output = &UpdateContributorInsightsOutput{} req = c.newRequest(op, input, output) - // if custom endpoint for the request is set to a non empty string, - // we skip the endpoint discovery workflow. - if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { - if aws.BoolValue(req.Config.EnableEndpointDiscovery) { - de := discovererDescribeEndpoints{ - Required: false, - EndpointCache: c.endpointCache, - Params: map[string]*string{ - "op": aws.String(req.Operation.Name), - }, - Client: c, - } - - for k, v := range de.Params { - if v == nil { - delete(de.Params, k) - } - } - - req.Handlers.Build.PushFrontNamed(request.NamedHandler{ - Name: "crr.endpointdiscovery", - Fn: de.Handler, - }) - } - } return } -// UpdateTable API operation for Amazon DynamoDB. -// -// Modifies the provisioned throughput settings, global secondary indexes, or -// DynamoDB Streams settings for a given table. -// -// You can only perform one of the following operations at once: -// -// * Modify the provisioned throughput settings of the table. -// -// * Enable or disable DynamoDB Streams on the table. -// -// * Remove a global secondary index from the table. -// -// * Create a new global secondary index on the table. After the index begins -// backfilling, you can use UpdateTable to perform other operations. +// UpdateContributorInsights API operation for Amazon DynamoDB. // -// UpdateTable is an asynchronous operation; while it is executing, the table -// status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot -// issue another UpdateTable request. When the table returns to the ACTIVE state, -// the UpdateTable operation is complete. +// Updates the status for contributor insights for a specific table or index. // // 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 DynamoDB's -// API operation UpdateTable for usage and error information. +// API operation UpdateContributorInsights for usage and error information. // // Returned Error Types: -// * ResourceInUseException -// The operation conflicts with the resource's availability. For example, you -// attempted to recreate an existing table, or tried to delete a table currently -// in the CREATING state. -// // * ResourceNotFoundException // The operation tried to access a nonexistent table or index. The resource // might not be specified correctly, or its status might not be ACTIVE. // -// * LimitExceededException -// There is no limit to the number of daily on-demand backups that can be taken. -// -// Up to 50 simultaneous table operations are allowed per account. These operations -// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, -// and RestoreTableToPointInTime. -// -// The only exception is when you are creating a table with one or more secondary -// indexes. You can have up to 25 such requests running at a time; however, -// if the table or index specifications are complex, DynamoDB might temporarily -// reduce the number of concurrent operations. -// -// There is a soft account quota of 256 tables. -// // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable -func (c *DynamoDB) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { - req, out := c.UpdateTableRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContributorInsights +func (c *DynamoDB) UpdateContributorInsights(input *UpdateContributorInsightsInput) (*UpdateContributorInsightsOutput, error) { + req, out := c.UpdateContributorInsightsRequest(input) return out, req.Send() } -// UpdateTableWithContext is the same as UpdateTable with the addition of +// UpdateContributorInsightsWithContext is the same as UpdateContributorInsights with the addition of // the ability to pass a context and additional request options. // -// See UpdateTable for details on how to use this API operation. +// See UpdateContributorInsights 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 *DynamoDB) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) { - req, out := c.UpdateTableRequest(input) +func (c *DynamoDB) UpdateContributorInsightsWithContext(ctx aws.Context, input *UpdateContributorInsightsInput, opts ...request.Option) (*UpdateContributorInsightsOutput, error) { + req, out := c.UpdateContributorInsightsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTableReplicaAutoScaling = "UpdateTableReplicaAutoScaling" +const opUpdateGlobalTable = "UpdateGlobalTable" -// UpdateTableReplicaAutoScalingRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTableReplicaAutoScaling operation. The "output" return +// UpdateGlobalTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGlobalTable 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 UpdateTableReplicaAutoScaling for more information on using the UpdateTableReplicaAutoScaling +// See UpdateGlobalTable for more information on using the UpdateGlobalTable // 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 UpdateTableReplicaAutoScalingRequest method. -// req, resp := client.UpdateTableReplicaAutoScalingRequest(params) +// // Example sending a request using the UpdateGlobalTableRequest method. +// req, resp := client.UpdateGlobalTableRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling -func (c *DynamoDB) UpdateTableReplicaAutoScalingRequest(input *UpdateTableReplicaAutoScalingInput) (req *request.Request, output *UpdateTableReplicaAutoScalingOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable +func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req *request.Request, output *UpdateGlobalTableOutput) { op := &request.Operation{ - Name: opUpdateTableReplicaAutoScaling, + Name: opUpdateGlobalTable, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateTableReplicaAutoScalingInput{} + input = &UpdateGlobalTableInput{} } - output = &UpdateTableReplicaAutoScalingOutput{} + output = &UpdateGlobalTableOutput{} req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + if aws.BoolValue(req.Config.EnableEndpointDiscovery) { + de := discovererDescribeEndpoints{ + Required: false, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + } return } -// UpdateTableReplicaAutoScaling API operation for Amazon DynamoDB. +// UpdateGlobalTable API operation for Amazon DynamoDB. // -// Updates auto scaling settings on your global tables at once. +// Adds or removes replicas in the specified global table. The global table +// must already exist to be able to use this operation. Any replica to be added +// must be empty, have the same name as the global table, have the same key +// schema, have DynamoDB Streams enabled, and have the same provisioned and +// maximum write capacity units. // -// This operation only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) -// of global tables. +// Although you can use UpdateGlobalTable to add replicas and remove replicas +// in a single request, for simplicity we recommend that you issue separate +// requests for adding or removing replicas. // -// 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. +// If global secondary indexes are specified, then the following conditions +// must also be met: // -// See the AWS API reference guide for Amazon DynamoDB's -// API operation UpdateTableReplicaAutoScaling for usage and error information. +// * The global secondary indexes must have the same name. // -// Returned Error Types: -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. -// -// * ResourceInUseException -// The operation conflicts with the resource's availability. For example, you -// attempted to recreate an existing table, or tried to delete a table currently -// in the CREATING state. -// -// * LimitExceededException -// There is no limit to the number of daily on-demand backups that can be taken. +// * The global secondary indexes must have the same hash key and sort key +// (if present). // -// Up to 50 simultaneous table operations are allowed per account. These operations -// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, -// and RestoreTableToPointInTime. +// * The global secondary indexes must have the same provisioned and maximum +// write capacity units. // -// The only exception is when you are creating a table with one or more secondary -// indexes. You can have up to 25 such requests running at a time; however, -// if the table or index specifications are complex, DynamoDB might temporarily -// reduce the number of concurrent operations. +// 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. // -// There is a soft account quota of 256 tables. +// See the AWS API reference guide for Amazon DynamoDB's +// API operation UpdateGlobalTable for usage and error information. // +// Returned Error Types: // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling -func (c *DynamoDB) UpdateTableReplicaAutoScaling(input *UpdateTableReplicaAutoScalingInput) (*UpdateTableReplicaAutoScalingOutput, error) { - req, out := c.UpdateTableReplicaAutoScalingRequest(input) +// * GlobalTableNotFoundException +// The specified global table does not exist. +// +// * ReplicaAlreadyExistsException +// The specified replica is already part of the global table. +// +// * ReplicaNotFoundException +// The specified replica is no longer part of the global table. +// +// * TableNotFoundException +// A source table with the name TableName does not currently exist within the +// subscriber's account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable +func (c *DynamoDB) UpdateGlobalTable(input *UpdateGlobalTableInput) (*UpdateGlobalTableOutput, error) { + req, out := c.UpdateGlobalTableRequest(input) return out, req.Send() } -// UpdateTableReplicaAutoScalingWithContext is the same as UpdateTableReplicaAutoScaling with the addition of +// UpdateGlobalTableWithContext is the same as UpdateGlobalTable with the addition of // the ability to pass a context and additional request options. // -// See UpdateTableReplicaAutoScaling for details on how to use this API operation. +// See UpdateGlobalTable 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 *DynamoDB) UpdateTableReplicaAutoScalingWithContext(ctx aws.Context, input *UpdateTableReplicaAutoScalingInput, opts ...request.Option) (*UpdateTableReplicaAutoScalingOutput, error) { - req, out := c.UpdateTableReplicaAutoScalingRequest(input) +func (c *DynamoDB) UpdateGlobalTableWithContext(ctx aws.Context, input *UpdateGlobalTableInput, opts ...request.Option) (*UpdateGlobalTableOutput, error) { + req, out := c.UpdateGlobalTableRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTimeToLive = "UpdateTimeToLive" +const opUpdateGlobalTableSettings = "UpdateGlobalTableSettings" -// UpdateTimeToLiveRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTimeToLive operation. The "output" return +// UpdateGlobalTableSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGlobalTableSettings 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 UpdateTimeToLive for more information on using the UpdateTimeToLive +// See UpdateGlobalTableSettings for more information on using the UpdateGlobalTableSettings // 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 UpdateTimeToLiveRequest method. -// req, resp := client.UpdateTimeToLiveRequest(params) +// // Example sending a request using the UpdateGlobalTableSettingsRequest method. +// req, resp := client.UpdateGlobalTableSettingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive -func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *request.Request, output *UpdateTimeToLiveOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings +func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSettingsInput) (req *request.Request, output *UpdateGlobalTableSettingsOutput) { op := &request.Operation{ - Name: opUpdateTimeToLive, + Name: opUpdateGlobalTableSettings, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateTimeToLiveInput{} + input = &UpdateGlobalTableSettingsInput{} } - output = &UpdateTimeToLiveOutput{} + output = &UpdateGlobalTableSettingsOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -6206,53 +6440,26 @@ func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *r return } -// UpdateTimeToLive API operation for Amazon DynamoDB. -// -// The UpdateTimeToLive method enables or disables Time to Live (TTL) for the -// specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification. -// It can take up to one hour for the change to fully process. Any additional -// UpdateTimeToLive calls for the same table during this one hour duration result -// in a ValidationException. -// -// TTL compares the current time in epoch time format to the time stored in -// the TTL attribute of an item. If the epoch time value stored in the attribute -// is less than the current time, the item is marked as expired and subsequently -// deleted. -// -// The epoch time format is the number of seconds elapsed since 12:00:00 AM -// January 1, 1970 UTC. -// -// DynamoDB deletes expired items on a best-effort basis to ensure availability -// of throughput for other data operations. -// -// DynamoDB typically deletes expired items within two days of expiration. The -// exact duration within which an item gets deleted after expiration is specific -// to the nature of the workload. Items that have expired and not been deleted -// will still show up in reads, queries, and scans. -// -// As items are deleted, they are removed from any local secondary index and -// global secondary index immediately in the same eventually consistent way -// as a standard delete operation. +// UpdateGlobalTableSettings API operation for Amazon DynamoDB. // -// For more information, see Time To Live (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) -// in the Amazon DynamoDB Developer Guide. +// Updates settings for a global table. // // 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 DynamoDB's -// API operation UpdateTimeToLive for usage and error information. +// API operation UpdateGlobalTableSettings for usage and error information. // // Returned Error Types: -// * ResourceInUseException -// The operation conflicts with the resource's availability. For example, you -// attempted to recreate an existing table, or tried to delete a table currently -// in the CREATING state. +// * GlobalTableNotFoundException +// The specified global table does not exist. // -// * ResourceNotFoundException -// The operation tried to access a nonexistent table or index. The resource -// might not be specified correctly, or its status might not be ACTIVE. +// * ReplicaNotFoundException +// The specified replica is no longer part of the global table. +// +// * IndexNotFoundException +// The operation tried to access a nonexistent index. // // * LimitExceededException // There is no limit to the number of daily on-demand backups that can be taken. @@ -6268,90 +6475,636 @@ func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *r // // There is a soft account quota of 256 tables. // +// * ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// // * InternalServerError // An error occurred on the server side. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive -func (c *DynamoDB) UpdateTimeToLive(input *UpdateTimeToLiveInput) (*UpdateTimeToLiveOutput, error) { - req, out := c.UpdateTimeToLiveRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings +func (c *DynamoDB) UpdateGlobalTableSettings(input *UpdateGlobalTableSettingsInput) (*UpdateGlobalTableSettingsOutput, error) { + req, out := c.UpdateGlobalTableSettingsRequest(input) return out, req.Send() } -// UpdateTimeToLiveWithContext is the same as UpdateTimeToLive with the addition of +// UpdateGlobalTableSettingsWithContext is the same as UpdateGlobalTableSettings with the addition of // the ability to pass a context and additional request options. // -// See UpdateTimeToLive for details on how to use this API operation. +// See UpdateGlobalTableSettings 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 *DynamoDB) UpdateTimeToLiveWithContext(ctx aws.Context, input *UpdateTimeToLiveInput, opts ...request.Option) (*UpdateTimeToLiveOutput, error) { - req, out := c.UpdateTimeToLiveRequest(input) +func (c *DynamoDB) UpdateGlobalTableSettingsWithContext(ctx aws.Context, input *UpdateGlobalTableSettingsInput, opts ...request.Option) (*UpdateGlobalTableSettingsOutput, error) { + req, out := c.UpdateGlobalTableSettingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Contains details of a table archival operation. -type ArchivalSummary struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the backup the table was archived to, when - // applicable in the archival reason. If you wish to restore this backup to - // the same table name, you will need to delete the original table. - ArchivalBackupArn *string `min:"37" type:"string"` - - // The date and time when table archival was initiated by DynamoDB, in UNIX - // epoch time format. - ArchivalDateTime *time.Time `type:"timestamp"` - - // The reason DynamoDB archived the table. Currently, the only possible value - // is: - // - // * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due to - // the table's AWS KMS key being inaccessible for more than seven days. An - // On-Demand backup was created at the archival time. - ArchivalReason *string `type:"string"` -} +const opUpdateItem = "UpdateItem" -// String returns the string representation -func (s ArchivalSummary) String() string { - return awsutil.Prettify(s) -} +// UpdateItemRequest generates a "aws/request.Request" representing the +// client's request for the UpdateItem 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 UpdateItem for more information on using the UpdateItem +// 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 UpdateItemRequest method. +// req, resp := client.UpdateItemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem +func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Request, output *UpdateItemOutput) { + op := &request.Operation{ + Name: opUpdateItem, + HTTPMethod: "POST", + HTTPPath: "/", + } -// GoString returns the string representation -func (s ArchivalSummary) GoString() string { - return s.String() -} + if input == nil { + input = &UpdateItemInput{} + } -// SetArchivalBackupArn sets the ArchivalBackupArn field's value. -func (s *ArchivalSummary) SetArchivalBackupArn(v string) *ArchivalSummary { - s.ArchivalBackupArn = &v - return s -} + output = &UpdateItemOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + if aws.BoolValue(req.Config.EnableEndpointDiscovery) { + de := discovererDescribeEndpoints{ + Required: false, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } -// SetArchivalDateTime sets the ArchivalDateTime field's value. -func (s *ArchivalSummary) SetArchivalDateTime(v time.Time) *ArchivalSummary { - s.ArchivalDateTime = &v - return s -} + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } -// SetArchivalReason sets the ArchivalReason field's value. -func (s *ArchivalSummary) SetArchivalReason(v string) *ArchivalSummary { - s.ArchivalReason = &v - return s + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + } + return } -// Represents an attribute for describing the key schema for the table and indexes. -type AttributeDefinition struct { - _ struct{} `type:"structure"` - - // A name for the attribute. - // - // AttributeName is a required field - AttributeName *string `min:"1" type:"string" required:"true"` - +// UpdateItem API operation for Amazon DynamoDB. +// +// Edits an existing item's attributes, or adds a new item to the table if it +// does not already exist. You can put, delete, or add attribute values. You +// can also perform a conditional update on an existing item (insert a new attribute +// name-value pair if it doesn't exist, or replace an existing name-value pair +// if it has certain expected attribute values). +// +// You can also return the item's attribute values in the same UpdateItem operation +// using the ReturnValues parameter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DynamoDB's +// API operation UpdateItem for usage and error information. +// +// Returned Error Types: +// * ConditionalCheckFailedException +// A condition specified in the operation could not be evaluated. +// +// * ProvisionedThroughputExceededException +// Your request rate is too high. The AWS SDKs for DynamoDB automatically retry +// requests that receive this exception. Your request is eventually successful, +// unless your retry queue is too large to finish. Reduce the frequency of requests +// and use exponential backoff. For more information, go to Error Retries and +// Exponential Backoff (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) +// in the Amazon DynamoDB Developer Guide. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * ItemCollectionSizeLimitExceededException +// An item collection is too large. This exception is only returned for tables +// that have one or more local secondary indexes. +// +// * TransactionConflictException +// Operation was rejected because there is an ongoing transaction for the item. +// +// * RequestLimitExceeded +// Throughput exceeds the current throughput quota for your account. Please +// contact AWS Support at AWS Support (https://aws.amazon.com/support) to request +// a quota increase. +// +// * InternalServerError +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem +func (c *DynamoDB) UpdateItem(input *UpdateItemInput) (*UpdateItemOutput, error) { + req, out := c.UpdateItemRequest(input) + return out, req.Send() +} + +// UpdateItemWithContext is the same as UpdateItem with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateItem 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 *DynamoDB) UpdateItemWithContext(ctx aws.Context, input *UpdateItemInput, opts ...request.Option) (*UpdateItemOutput, error) { + req, out := c.UpdateItemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTable = "UpdateTable" + +// UpdateTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTable 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 UpdateTable for more information on using the UpdateTable +// 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 UpdateTableRequest method. +// req, resp := client.UpdateTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable +func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) { + op := &request.Operation{ + Name: opUpdateTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTableInput{} + } + + output = &UpdateTableOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + if aws.BoolValue(req.Config.EnableEndpointDiscovery) { + de := discovererDescribeEndpoints{ + Required: false, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + } + return +} + +// UpdateTable API operation for Amazon DynamoDB. +// +// Modifies the provisioned throughput settings, global secondary indexes, or +// DynamoDB Streams settings for a given table. +// +// You can only perform one of the following operations at once: +// +// * Modify the provisioned throughput settings of the table. +// +// * Enable or disable DynamoDB Streams on the table. +// +// * Remove a global secondary index from the table. +// +// * Create a new global secondary index on the table. After the index begins +// backfilling, you can use UpdateTable to perform other operations. +// +// UpdateTable is an asynchronous operation; while it is executing, the table +// status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot +// issue another UpdateTable request. When the table returns to the ACTIVE state, +// the UpdateTable operation is complete. +// +// 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 DynamoDB's +// API operation UpdateTable for usage and error information. +// +// Returned Error Types: +// * ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * LimitExceededException +// There is no limit to the number of daily on-demand backups that can be taken. +// +// Up to 50 simultaneous table operations are allowed per account. These operations +// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, +// and RestoreTableToPointInTime. +// +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. +// +// There is a soft account quota of 256 tables. +// +// * InternalServerError +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable +func (c *DynamoDB) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { + req, out := c.UpdateTableRequest(input) + return out, req.Send() +} + +// UpdateTableWithContext is the same as UpdateTable with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTable 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 *DynamoDB) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) { + req, out := c.UpdateTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTableReplicaAutoScaling = "UpdateTableReplicaAutoScaling" + +// UpdateTableReplicaAutoScalingRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTableReplicaAutoScaling 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 UpdateTableReplicaAutoScaling for more information on using the UpdateTableReplicaAutoScaling +// 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 UpdateTableReplicaAutoScalingRequest method. +// req, resp := client.UpdateTableReplicaAutoScalingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling +func (c *DynamoDB) UpdateTableReplicaAutoScalingRequest(input *UpdateTableReplicaAutoScalingInput) (req *request.Request, output *UpdateTableReplicaAutoScalingOutput) { + op := &request.Operation{ + Name: opUpdateTableReplicaAutoScaling, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTableReplicaAutoScalingInput{} + } + + output = &UpdateTableReplicaAutoScalingOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTableReplicaAutoScaling API operation for Amazon DynamoDB. +// +// Updates auto scaling settings on your global tables at once. +// +// This operation only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) +// of global tables. +// +// 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 DynamoDB's +// API operation UpdateTableReplicaAutoScaling for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// * LimitExceededException +// There is no limit to the number of daily on-demand backups that can be taken. +// +// Up to 50 simultaneous table operations are allowed per account. These operations +// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, +// and RestoreTableToPointInTime. +// +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. +// +// There is a soft account quota of 256 tables. +// +// * InternalServerError +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling +func (c *DynamoDB) UpdateTableReplicaAutoScaling(input *UpdateTableReplicaAutoScalingInput) (*UpdateTableReplicaAutoScalingOutput, error) { + req, out := c.UpdateTableReplicaAutoScalingRequest(input) + return out, req.Send() +} + +// UpdateTableReplicaAutoScalingWithContext is the same as UpdateTableReplicaAutoScaling with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTableReplicaAutoScaling 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 *DynamoDB) UpdateTableReplicaAutoScalingWithContext(ctx aws.Context, input *UpdateTableReplicaAutoScalingInput, opts ...request.Option) (*UpdateTableReplicaAutoScalingOutput, error) { + req, out := c.UpdateTableReplicaAutoScalingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTimeToLive = "UpdateTimeToLive" + +// UpdateTimeToLiveRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTimeToLive 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 UpdateTimeToLive for more information on using the UpdateTimeToLive +// 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 UpdateTimeToLiveRequest method. +// req, resp := client.UpdateTimeToLiveRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive +func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *request.Request, output *UpdateTimeToLiveOutput) { + op := &request.Operation{ + Name: opUpdateTimeToLive, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTimeToLiveInput{} + } + + output = &UpdateTimeToLiveOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + if aws.BoolValue(req.Config.EnableEndpointDiscovery) { + de := discovererDescribeEndpoints{ + Required: false, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + } + return +} + +// UpdateTimeToLive API operation for Amazon DynamoDB. +// +// The UpdateTimeToLive method enables or disables Time to Live (TTL) for the +// specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification. +// It can take up to one hour for the change to fully process. Any additional +// UpdateTimeToLive calls for the same table during this one hour duration result +// in a ValidationException. +// +// TTL compares the current time in epoch time format to the time stored in +// the TTL attribute of an item. If the epoch time value stored in the attribute +// is less than the current time, the item is marked as expired and subsequently +// deleted. +// +// The epoch time format is the number of seconds elapsed since 12:00:00 AM +// January 1, 1970 UTC. +// +// DynamoDB deletes expired items on a best-effort basis to ensure availability +// of throughput for other data operations. +// +// DynamoDB typically deletes expired items within two days of expiration. The +// exact duration within which an item gets deleted after expiration is specific +// to the nature of the workload. Items that have expired and not been deleted +// will still show up in reads, queries, and scans. +// +// As items are deleted, they are removed from any local secondary index and +// global secondary index immediately in the same eventually consistent way +// as a standard delete operation. +// +// For more information, see Time To Live (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) +// in the Amazon DynamoDB Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DynamoDB's +// API operation UpdateTimeToLive for usage and error information. +// +// Returned Error Types: +// * ResourceInUseException +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// * ResourceNotFoundException +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * LimitExceededException +// There is no limit to the number of daily on-demand backups that can be taken. +// +// Up to 50 simultaneous table operations are allowed per account. These operations +// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, +// and RestoreTableToPointInTime. +// +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. +// +// There is a soft account quota of 256 tables. +// +// * InternalServerError +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive +func (c *DynamoDB) UpdateTimeToLive(input *UpdateTimeToLiveInput) (*UpdateTimeToLiveOutput, error) { + req, out := c.UpdateTimeToLiveRequest(input) + return out, req.Send() +} + +// UpdateTimeToLiveWithContext is the same as UpdateTimeToLive with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTimeToLive 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 *DynamoDB) UpdateTimeToLiveWithContext(ctx aws.Context, input *UpdateTimeToLiveInput, opts ...request.Option) (*UpdateTimeToLiveOutput, error) { + req, out := c.UpdateTimeToLiveRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Contains details of a table archival operation. +type ArchivalSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the backup the table was archived to, when + // applicable in the archival reason. If you wish to restore this backup to + // the same table name, you will need to delete the original table. + ArchivalBackupArn *string `min:"37" type:"string"` + + // The date and time when table archival was initiated by DynamoDB, in UNIX + // epoch time format. + ArchivalDateTime *time.Time `type:"timestamp"` + + // The reason DynamoDB archived the table. Currently, the only possible value + // is: + // + // * INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due to + // the table's AWS KMS key being inaccessible for more than seven days. An + // On-Demand backup was created at the archival time. + ArchivalReason *string `type:"string"` +} + +// String returns the string representation +func (s ArchivalSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchivalSummary) GoString() string { + return s.String() +} + +// SetArchivalBackupArn sets the ArchivalBackupArn field's value. +func (s *ArchivalSummary) SetArchivalBackupArn(v string) *ArchivalSummary { + s.ArchivalBackupArn = &v + return s +} + +// SetArchivalDateTime sets the ArchivalDateTime field's value. +func (s *ArchivalSummary) SetArchivalDateTime(v time.Time) *ArchivalSummary { + s.ArchivalDateTime = &v + return s +} + +// SetArchivalReason sets the ArchivalReason field's value. +func (s *ArchivalSummary) SetArchivalReason(v string) *ArchivalSummary { + s.ArchivalReason = &v + return s +} + +// Represents an attribute for describing the key schema for the table and indexes. +type AttributeDefinition struct { + _ struct{} `type:"structure"` + + // A name for the attribute. + // + // AttributeName is a required field + AttributeName *string `min:"1" type:"string" required:"true"` + // The data type for the attribute, where: // // * S - the attribute is of type String @@ -7404,6 +8157,80 @@ func (s *BackupSummary) SetTableName(v string) *BackupSummary { return s } +type BatchExecuteStatementInput struct { + _ struct{} `type:"structure"` + + // The list of PartiQL statements representing the batch to run. + // + // Statements is a required field + Statements []*BatchStatementRequest `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchExecuteStatementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchExecuteStatementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchExecuteStatementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchExecuteStatementInput"} + if s.Statements == nil { + invalidParams.Add(request.NewErrParamRequired("Statements")) + } + if s.Statements != nil && len(s.Statements) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Statements", 1)) + } + if s.Statements != nil { + for i, v := range s.Statements { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Statements", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatements sets the Statements field's value. +func (s *BatchExecuteStatementInput) SetStatements(v []*BatchStatementRequest) *BatchExecuteStatementInput { + s.Statements = v + return s +} + +type BatchExecuteStatementOutput struct { + _ struct{} `type:"structure"` + + // The response to each PartiQL statement in the batch. + Responses []*BatchStatementResponse `type:"list"` +} + +// String returns the string representation +func (s BatchExecuteStatementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchExecuteStatementOutput) GoString() string { + return s.String() +} + +// SetResponses sets the Responses field's value. +func (s *BatchExecuteStatementOutput) SetResponses(v []*BatchStatementResponse) *BatchExecuteStatementOutput { + s.Responses = v + return s +} + // Represents the input of a BatchGetItem operation. type BatchGetItemInput struct { _ struct{} `type:"structure"` @@ -7536,59 +8363,197 @@ type BatchGetItemOutput struct { // * CapacityUnits - The total number of capacity units consumed. ConsumedCapacity []*ConsumedCapacity `type:"list"` - // A map of table name to a list of items. Each object in Responses consists - // of a table name, along with a map of attribute data consisting of the data - // type and attribute value. - Responses map[string][]map[string]*AttributeValue `type:"map"` + // A map of table name to a list of items. Each object in Responses consists + // of a table name, along with a map of attribute data consisting of the data + // type and attribute value. + Responses map[string][]map[string]*AttributeValue `type:"map"` + + // A map of tables and their respective keys that were not processed with the + // current response. The UnprocessedKeys value is in the same form as RequestItems, + // so the value can be provided directly to a subsequent BatchGetItem operation. + // For more information, see RequestItems in the Request Parameters section. + // + // Each element consists of: + // + // * Keys - An array of primary key attribute values that define specific + // items in the table. + // + // * ProjectionExpression - One or more attributes to be retrieved from the + // table or index. By default, all attributes are returned. If a requested + // attribute is not found, it does not appear in the result. + // + // * ConsistentRead - The consistency of a read operation. If set to true, + // then a strongly consistent read is used; otherwise, an eventually consistent + // read is used. + // + // If there are no unprocessed keys remaining, the response contains an empty + // UnprocessedKeys map. + UnprocessedKeys map[string]*KeysAndAttributes `min:"1" type:"map"` +} + +// String returns the string representation +func (s BatchGetItemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetItemOutput) GoString() string { + return s.String() +} + +// SetConsumedCapacity sets the ConsumedCapacity field's value. +func (s *BatchGetItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchGetItemOutput { + s.ConsumedCapacity = v + return s +} + +// SetResponses sets the Responses field's value. +func (s *BatchGetItemOutput) SetResponses(v map[string][]map[string]*AttributeValue) *BatchGetItemOutput { + s.Responses = v + return s +} + +// SetUnprocessedKeys sets the UnprocessedKeys field's value. +func (s *BatchGetItemOutput) SetUnprocessedKeys(v map[string]*KeysAndAttributes) *BatchGetItemOutput { + s.UnprocessedKeys = v + return s +} + +// An error associated with a statement in a PartiQL batch that was run. +type BatchStatementError struct { + _ struct{} `type:"structure"` + + // The error code associated with the failed PartiQL batch statement. + Code *string `type:"string" enum:"BatchStatementErrorCodeEnum"` + + // The error message associated with the PartiQL batch resposne. + Message *string `type:"string"` +} + +// String returns the string representation +func (s BatchStatementError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchStatementError) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *BatchStatementError) SetCode(v string) *BatchStatementError { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *BatchStatementError) SetMessage(v string) *BatchStatementError { + s.Message = &v + return s +} + +// A PartiQL batch statement request. +type BatchStatementRequest struct { + _ struct{} `type:"structure"` + + // The read consistency of the PartiQL batch request. + ConsistentRead *bool `type:"boolean"` + + // The parameters associated with a PartiQL statement in the batch request. + Parameters []*AttributeValue `min:"1" type:"list"` + + // A valid PartiQL statement. + // + // Statement is a required field + Statement *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s BatchStatementRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchStatementRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchStatementRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchStatementRequest"} + if s.Parameters != nil && len(s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + if s.Statement == nil { + invalidParams.Add(request.NewErrParamRequired("Statement")) + } + if s.Statement != nil && len(*s.Statement) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Statement", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConsistentRead sets the ConsistentRead field's value. +func (s *BatchStatementRequest) SetConsistentRead(v bool) *BatchStatementRequest { + s.ConsistentRead = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *BatchStatementRequest) SetParameters(v []*AttributeValue) *BatchStatementRequest { + s.Parameters = v + return s +} + +// SetStatement sets the Statement field's value. +func (s *BatchStatementRequest) SetStatement(v string) *BatchStatementRequest { + s.Statement = &v + return s +} - // A map of tables and their respective keys that were not processed with the - // current response. The UnprocessedKeys value is in the same form as RequestItems, - // so the value can be provided directly to a subsequent BatchGetItem operation. - // For more information, see RequestItems in the Request Parameters section. - // - // Each element consists of: - // - // * Keys - An array of primary key attribute values that define specific - // items in the table. - // - // * ProjectionExpression - One or more attributes to be retrieved from the - // table or index. By default, all attributes are returned. If a requested - // attribute is not found, it does not appear in the result. - // - // * ConsistentRead - The consistency of a read operation. If set to true, - // then a strongly consistent read is used; otherwise, an eventually consistent - // read is used. - // - // If there are no unprocessed keys remaining, the response contains an empty - // UnprocessedKeys map. - UnprocessedKeys map[string]*KeysAndAttributes `min:"1" type:"map"` +// A PartiQL batch statement response.. +type BatchStatementResponse struct { + _ struct{} `type:"structure"` + + // The error associated with a failed PartiQL batch statement. + Error *BatchStatementError `type:"structure"` + + // A DynamoDB item associated with a BatchStatementResponse + Item map[string]*AttributeValue `type:"map"` + + // The table name associated with a failed PartiQL batch statement. + TableName *string `min:"3" type:"string"` } // String returns the string representation -func (s BatchGetItemOutput) String() string { +func (s BatchStatementResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetItemOutput) GoString() string { +func (s BatchStatementResponse) GoString() string { return s.String() } -// SetConsumedCapacity sets the ConsumedCapacity field's value. -func (s *BatchGetItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchGetItemOutput { - s.ConsumedCapacity = v +// SetError sets the Error field's value. +func (s *BatchStatementResponse) SetError(v *BatchStatementError) *BatchStatementResponse { + s.Error = v return s } -// SetResponses sets the Responses field's value. -func (s *BatchGetItemOutput) SetResponses(v map[string][]map[string]*AttributeValue) *BatchGetItemOutput { - s.Responses = v +// SetItem sets the Item field's value. +func (s *BatchStatementResponse) SetItem(v map[string]*AttributeValue) *BatchStatementResponse { + s.Item = v return s } -// SetUnprocessedKeys sets the UnprocessedKeys field's value. -func (s *BatchGetItemOutput) SetUnprocessedKeys(v map[string]*KeysAndAttributes) *BatchGetItemOutput { - s.UnprocessedKeys = v +// SetTableName sets the TableName field's value. +func (s *BatchStatementResponse) SetTableName(v string) *BatchStatementResponse { + s.TableName = &v return s } @@ -9098,133 +10063,444 @@ func (s *CreateTableInput) Validate() error { return nil } -// SetAttributeDefinitions sets the AttributeDefinitions field's value. -func (s *CreateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *CreateTableInput { - s.AttributeDefinitions = v - return s -} - -// SetBillingMode sets the BillingMode field's value. -func (s *CreateTableInput) SetBillingMode(v string) *CreateTableInput { - s.BillingMode = &v - return s -} - -// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. -func (s *CreateTableInput) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndex) *CreateTableInput { - s.GlobalSecondaryIndexes = v - return s -} - -// SetKeySchema sets the KeySchema field's value. -func (s *CreateTableInput) SetKeySchema(v []*KeySchemaElement) *CreateTableInput { - s.KeySchema = v - return s -} - -// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. -func (s *CreateTableInput) SetLocalSecondaryIndexes(v []*LocalSecondaryIndex) *CreateTableInput { - s.LocalSecondaryIndexes = v +// SetAttributeDefinitions sets the AttributeDefinitions field's value. +func (s *CreateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *CreateTableInput { + s.AttributeDefinitions = v + return s +} + +// SetBillingMode sets the BillingMode field's value. +func (s *CreateTableInput) SetBillingMode(v string) *CreateTableInput { + s.BillingMode = &v + return s +} + +// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. +func (s *CreateTableInput) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndex) *CreateTableInput { + s.GlobalSecondaryIndexes = v + return s +} + +// SetKeySchema sets the KeySchema field's value. +func (s *CreateTableInput) SetKeySchema(v []*KeySchemaElement) *CreateTableInput { + s.KeySchema = v + return s +} + +// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. +func (s *CreateTableInput) SetLocalSecondaryIndexes(v []*LocalSecondaryIndex) *CreateTableInput { + s.LocalSecondaryIndexes = v + return s +} + +// SetProvisionedThroughput sets the ProvisionedThroughput field's value. +func (s *CreateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateTableInput { + s.ProvisionedThroughput = v + return s +} + +// SetSSESpecification sets the SSESpecification field's value. +func (s *CreateTableInput) SetSSESpecification(v *SSESpecification) *CreateTableInput { + s.SSESpecification = v + return s +} + +// SetStreamSpecification sets the StreamSpecification field's value. +func (s *CreateTableInput) SetStreamSpecification(v *StreamSpecification) *CreateTableInput { + s.StreamSpecification = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *CreateTableInput) SetTableName(v string) *CreateTableInput { + s.TableName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTableInput) SetTags(v []*Tag) *CreateTableInput { + s.Tags = v + return s +} + +// Represents the output of a CreateTable operation. +type CreateTableOutput struct { + _ struct{} `type:"structure"` + + // Represents the properties of the table. + TableDescription *TableDescription `type:"structure"` +} + +// String returns the string representation +func (s CreateTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTableOutput) GoString() string { + return s.String() +} + +// SetTableDescription sets the TableDescription field's value. +func (s *CreateTableOutput) SetTableDescription(v *TableDescription) *CreateTableOutput { + s.TableDescription = v + return s +} + +// Represents a request to perform a DeleteItem operation. +type Delete struct { + _ struct{} `type:"structure"` + + // A condition that must be satisfied in order for a conditional delete to succeed. + ConditionExpression *string `type:"string"` + + // One or more substitution tokens for attribute names in an expression. + ExpressionAttributeNames map[string]*string `type:"map"` + + // One or more values that can be substituted in an expression. + ExpressionAttributeValues map[string]*AttributeValue `type:"map"` + + // The primary key of the item to be deleted. Each element consists of an attribute + // name and a value for that attribute. + // + // Key is a required field + Key map[string]*AttributeValue `type:"map" required:"true"` + + // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the + // Delete condition fails. For ReturnValuesOnConditionCheckFailure, the valid + // values are: NONE and ALL_OLD. + ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` + + // Name of the table in which the item to be deleted resides. + // + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s Delete) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Delete) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Delete) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Delete"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConditionExpression sets the ConditionExpression field's value. +func (s *Delete) SetConditionExpression(v string) *Delete { + s.ConditionExpression = &v + return s +} + +// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. +func (s *Delete) SetExpressionAttributeNames(v map[string]*string) *Delete { + s.ExpressionAttributeNames = v + return s +} + +// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. +func (s *Delete) SetExpressionAttributeValues(v map[string]*AttributeValue) *Delete { + s.ExpressionAttributeValues = v + return s +} + +// SetKey sets the Key field's value. +func (s *Delete) SetKey(v map[string]*AttributeValue) *Delete { + s.Key = v + return s +} + +// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. +func (s *Delete) SetReturnValuesOnConditionCheckFailure(v string) *Delete { + s.ReturnValuesOnConditionCheckFailure = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *Delete) SetTableName(v string) *Delete { + s.TableName = &v + return s +} + +type DeleteBackupInput struct { + _ struct{} `type:"structure"` + + // The ARN associated with the backup. + // + // BackupArn is a required field + BackupArn *string `min:"37" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBackupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"} + if s.BackupArn == nil { + invalidParams.Add(request.NewErrParamRequired("BackupArn")) + } + if s.BackupArn != nil && len(*s.BackupArn) < 37 { + invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupArn sets the BackupArn field's value. +func (s *DeleteBackupInput) SetBackupArn(v string) *DeleteBackupInput { + s.BackupArn = &v return s } -// SetProvisionedThroughput sets the ProvisionedThroughput field's value. -func (s *CreateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateTableInput { - s.ProvisionedThroughput = v - return s -} +type DeleteBackupOutput struct { + _ struct{} `type:"structure"` -// SetSSESpecification sets the SSESpecification field's value. -func (s *CreateTableInput) SetSSESpecification(v *SSESpecification) *CreateTableInput { - s.SSESpecification = v - return s + // Contains the description of the backup created for the table. + BackupDescription *BackupDescription `type:"structure"` } -// SetStreamSpecification sets the StreamSpecification field's value. -func (s *CreateTableInput) SetStreamSpecification(v *StreamSpecification) *CreateTableInput { - s.StreamSpecification = v - return s +// String returns the string representation +func (s DeleteBackupOutput) String() string { + return awsutil.Prettify(s) } -// SetTableName sets the TableName field's value. -func (s *CreateTableInput) SetTableName(v string) *CreateTableInput { - s.TableName = &v - return s +// GoString returns the string representation +func (s DeleteBackupOutput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateTableInput) SetTags(v []*Tag) *CreateTableInput { - s.Tags = v +// SetBackupDescription sets the BackupDescription field's value. +func (s *DeleteBackupOutput) SetBackupDescription(v *BackupDescription) *DeleteBackupOutput { + s.BackupDescription = v return s } -// Represents the output of a CreateTable operation. -type CreateTableOutput struct { +// Represents a global secondary index to be deleted from an existing table. +type DeleteGlobalSecondaryIndexAction struct { _ struct{} `type:"structure"` - // Represents the properties of the table. - TableDescription *TableDescription `type:"structure"` + // The name of the global secondary index to be deleted. + // + // IndexName is a required field + IndexName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s CreateTableOutput) String() string { +func (s DeleteGlobalSecondaryIndexAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTableOutput) GoString() string { +func (s DeleteGlobalSecondaryIndexAction) GoString() string { return s.String() } -// SetTableDescription sets the TableDescription field's value. -func (s *CreateTableOutput) SetTableDescription(v *TableDescription) *CreateTableOutput { - s.TableDescription = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGlobalSecondaryIndexAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalSecondaryIndexAction"} + if s.IndexName == nil { + invalidParams.Add(request.NewErrParamRequired("IndexName")) + } + if s.IndexName != nil && len(*s.IndexName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIndexName sets the IndexName field's value. +func (s *DeleteGlobalSecondaryIndexAction) SetIndexName(v string) *DeleteGlobalSecondaryIndexAction { + s.IndexName = &v return s } -// Represents a request to perform a DeleteItem operation. -type Delete struct { +// Represents the input of a DeleteItem operation. +type DeleteItemInput struct { _ struct{} `type:"structure"` - // A condition that must be satisfied in order for a conditional delete to succeed. + // A condition that must be satisfied in order for a conditional DeleteItem + // to succeed. + // + // An expression can contain any of the following: + // + // * Functions: attribute_exists | attribute_not_exists | attribute_type + // | contains | begins_with | size These function names are case-sensitive. + // + // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN + // + // * Logical operators: AND | OR | NOT + // + // For more information about condition expressions, see Condition Expressions + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // in the Amazon DynamoDB Developer Guide. ConditionExpression *string `type:"string"` - // One or more substitution tokens for attribute names in an expression. + // This is a legacy parameter. Use ConditionExpression instead. For more information, + // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) + // in the Amazon DynamoDB Developer Guide. + ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` + + // This is a legacy parameter. Use ConditionExpression instead. For more information, + // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) + // in the Amazon DynamoDB Developer Guide. + Expected map[string]*ExpectedAttributeValue `type:"map"` + + // One or more substitution tokens for attribute names in an expression. The + // following are some use cases for using ExpressionAttributeNames: + // + // * To access an attribute whose name conflicts with a DynamoDB reserved + // word. + // + // * To create a placeholder for repeating occurrences of an attribute name + // in an expression. + // + // * To prevent special characters in an attribute name from being misinterpreted + // in an expression. + // + // Use the # character in an expression to dereference an attribute name. For + // example, consider the following attribute name: + // + // * Percentile + // + // The name of this attribute conflicts with a reserved word, so it cannot be + // used directly in an expression. (For the complete list of reserved words, + // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) + // in the Amazon DynamoDB Developer Guide). To work around this, you could specify + // the following for ExpressionAttributeNames: + // + // * {"#P":"Percentile"} + // + // You could then use this substitution in an expression, as in this example: + // + // * #P = :val + // + // Tokens that begin with the : character are expression attribute values, which + // are placeholders for the actual value at runtime. + // + // For more information on expression attribute names, see Specifying Item Attributes + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) + // in the Amazon DynamoDB Developer Guide. ExpressionAttributeNames map[string]*string `type:"map"` // One or more values that can be substituted in an expression. + // + // Use the : (colon) character in an expression to dereference an attribute + // value. For example, suppose that you wanted to check whether the value of + // the ProductStatus attribute was one of the following: + // + // Available | Backordered | Discontinued + // + // You would first need to specify ExpressionAttributeValues as follows: + // + // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} + // } + // + // You could then use these values in an expression, such as this: + // + // ProductStatus IN (:avail, :back, :disc) + // + // For more information on expression attribute values, see Condition Expressions + // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) + // in the Amazon DynamoDB Developer Guide. ExpressionAttributeValues map[string]*AttributeValue `type:"map"` - // The primary key of the item to be deleted. Each element consists of an attribute - // name and a value for that attribute. + // A map of attribute names to AttributeValue objects, representing the primary + // key of the item to delete. + // + // For the primary key, you must provide all of the attributes. For example, + // with a simple primary key, you only need to provide a value for the partition + // key. For a composite primary key, you must provide values for both the partition + // key and the sort key. // // Key is a required field Key map[string]*AttributeValue `type:"map" required:"true"` - // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the - // Delete condition fails. For ReturnValuesOnConditionCheckFailure, the valid - // values are: NONE and ALL_OLD. - ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"` + // Determines the level of detail about provisioned throughput consumption that + // is returned in the response: + // + // * INDEXES - The response includes the aggregate ConsumedCapacity for the + // operation, together with ConsumedCapacity for each table and secondary + // index that was accessed. Note that some operations, such as GetItem and + // BatchGetItem, do not access any indexes at all. In these cases, specifying + // INDEXES will only return ConsumedCapacity information for table(s). + // + // * TOTAL - The response includes only the aggregate ConsumedCapacity for + // the operation. + // + // * NONE - No ConsumedCapacity details are included in the response. + ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` - // Name of the table in which the item to be deleted resides. + // Determines whether item collection metrics are returned. If set to SIZE, + // the response includes statistics about item collections, if any, that were + // modified during the operation are returned in the response. If set to NONE + // (the default), no statistics are returned. + ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` + + // Use ReturnValues if you want to get the item attributes as they appeared + // before they were deleted. For DeleteItem, the valid values are: + // + // * NONE - If ReturnValues is not specified, or if its value is NONE, then + // nothing is returned. (This setting is the default for ReturnValues.) + // + // * ALL_OLD - The content of the old item is returned. + // + // The ReturnValues parameter is used by several DynamoDB operations; however, + // DeleteItem does not recognize any values other than NONE or ALL_OLD. + ReturnValues *string `type:"string" enum:"ReturnValue"` + + // The name of the table from which to delete the item. // // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s Delete) String() string { +func (s DeleteItemInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Delete) GoString() string { +func (s DeleteItemInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Delete) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Delete"} +func (s *DeleteItemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteItemInput"} if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } @@ -9241,134 +10517,196 @@ func (s *Delete) Validate() error { return nil } -// SetConditionExpression sets the ConditionExpression field's value. -func (s *Delete) SetConditionExpression(v string) *Delete { - s.ConditionExpression = &v +// SetConditionExpression sets the ConditionExpression field's value. +func (s *DeleteItemInput) SetConditionExpression(v string) *DeleteItemInput { + s.ConditionExpression = &v + return s +} + +// SetConditionalOperator sets the ConditionalOperator field's value. +func (s *DeleteItemInput) SetConditionalOperator(v string) *DeleteItemInput { + s.ConditionalOperator = &v + return s +} + +// SetExpected sets the Expected field's value. +func (s *DeleteItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *DeleteItemInput { + s.Expected = v return s } // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. -func (s *Delete) SetExpressionAttributeNames(v map[string]*string) *Delete { +func (s *DeleteItemInput) SetExpressionAttributeNames(v map[string]*string) *DeleteItemInput { s.ExpressionAttributeNames = v return s } // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. -func (s *Delete) SetExpressionAttributeValues(v map[string]*AttributeValue) *Delete { +func (s *DeleteItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *DeleteItemInput { s.ExpressionAttributeValues = v return s } // SetKey sets the Key field's value. -func (s *Delete) SetKey(v map[string]*AttributeValue) *Delete { +func (s *DeleteItemInput) SetKey(v map[string]*AttributeValue) *DeleteItemInput { s.Key = v return s } -// SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value. -func (s *Delete) SetReturnValuesOnConditionCheckFailure(v string) *Delete { - s.ReturnValuesOnConditionCheckFailure = &v +// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. +func (s *DeleteItemInput) SetReturnConsumedCapacity(v string) *DeleteItemInput { + s.ReturnConsumedCapacity = &v + return s +} + +// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. +func (s *DeleteItemInput) SetReturnItemCollectionMetrics(v string) *DeleteItemInput { + s.ReturnItemCollectionMetrics = &v + return s +} + +// SetReturnValues sets the ReturnValues field's value. +func (s *DeleteItemInput) SetReturnValues(v string) *DeleteItemInput { + s.ReturnValues = &v return s } // SetTableName sets the TableName field's value. -func (s *Delete) SetTableName(v string) *Delete { +func (s *DeleteItemInput) SetTableName(v string) *DeleteItemInput { s.TableName = &v return s } -type DeleteBackupInput struct { +// Represents the output of a DeleteItem operation. +type DeleteItemOutput struct { _ struct{} `type:"structure"` - // The ARN associated with the backup. + // A map of attribute names to AttributeValue objects, representing the item + // as it appeared before the DeleteItem operation. This map appears in the response + // only if ReturnValues was specified as ALL_OLD in the request. + Attributes map[string]*AttributeValue `type:"map"` + + // The capacity units consumed by the DeleteItem operation. The data returned + // includes the total provisioned throughput consumed, along with statistics + // for the table and any indexes involved in the operation. ConsumedCapacity + // is only returned if the ReturnConsumedCapacity parameter was specified. For + // more information, see Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) + // in the Amazon DynamoDB Developer Guide. + ConsumedCapacity *ConsumedCapacity `type:"structure"` + + // Information about item collections, if any, that were affected by the DeleteItem + // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics + // parameter was specified. If the table does not have any local secondary indexes, + // this information is not returned in the response. // - // BackupArn is a required field - BackupArn *string `min:"37" type:"string" required:"true"` + // Each ItemCollectionMetrics element consists of: + // + // * ItemCollectionKey - The partition key value of the item collection. + // This is the same as the partition key value of the item itself. + // + // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. + // This value is a two-element array containing a lower bound and an upper + // bound for the estimate. The estimate includes the size of all the items + // in the table, plus the size of all attributes projected into all of the + // local secondary indexes on that table. Use this estimate to measure whether + // a local secondary index is approaching its size limit. The estimate is + // subject to change over time; therefore, do not rely on the precision or + // accuracy of the estimate. + ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` } // String returns the string representation -func (s DeleteBackupInput) String() string { +func (s DeleteItemOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteBackupInput) GoString() string { +func (s DeleteItemOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"} - if s.BackupArn == nil { - invalidParams.Add(request.NewErrParamRequired("BackupArn")) - } - if s.BackupArn != nil && len(*s.BackupArn) < 37 { - invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) - } +// SetAttributes sets the Attributes field's value. +func (s *DeleteItemOutput) SetAttributes(v map[string]*AttributeValue) *DeleteItemOutput { + s.Attributes = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetConsumedCapacity sets the ConsumedCapacity field's value. +func (s *DeleteItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *DeleteItemOutput { + s.ConsumedCapacity = v + return s } -// SetBackupArn sets the BackupArn field's value. -func (s *DeleteBackupInput) SetBackupArn(v string) *DeleteBackupInput { - s.BackupArn = &v +// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. +func (s *DeleteItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *DeleteItemOutput { + s.ItemCollectionMetrics = v return s } -type DeleteBackupOutput struct { +// Represents a replica to be removed. +type DeleteReplicaAction struct { _ struct{} `type:"structure"` - // Contains the description of the backup created for the table. - BackupDescription *BackupDescription `type:"structure"` + // The Region of the replica to be removed. + // + // RegionName is a required field + RegionName *string `type:"string" required:"true"` } // String returns the string representation -func (s DeleteBackupOutput) String() string { +func (s DeleteReplicaAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteBackupOutput) GoString() string { +func (s DeleteReplicaAction) GoString() string { return s.String() } -// SetBackupDescription sets the BackupDescription field's value. -func (s *DeleteBackupOutput) SetBackupDescription(v *BackupDescription) *DeleteBackupOutput { - s.BackupDescription = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReplicaAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReplicaAction"} + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegionName sets the RegionName field's value. +func (s *DeleteReplicaAction) SetRegionName(v string) *DeleteReplicaAction { + s.RegionName = &v return s } -// Represents a global secondary index to be deleted from an existing table. -type DeleteGlobalSecondaryIndexAction struct { +// Represents a replica to be deleted. +type DeleteReplicationGroupMemberAction struct { _ struct{} `type:"structure"` - // The name of the global secondary index to be deleted. + // The Region where the replica exists. // - // IndexName is a required field - IndexName *string `min:"3" type:"string" required:"true"` + // RegionName is a required field + RegionName *string `type:"string" required:"true"` } // String returns the string representation -func (s DeleteGlobalSecondaryIndexAction) String() string { +func (s DeleteReplicationGroupMemberAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGlobalSecondaryIndexAction) GoString() string { +func (s DeleteReplicationGroupMemberAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteGlobalSecondaryIndexAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalSecondaryIndexAction"} - if s.IndexName == nil { - invalidParams.Add(request.NewErrParamRequired("IndexName")) - } - if s.IndexName != nil && len(*s.IndexName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) +func (s *DeleteReplicationGroupMemberAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupMemberAction"} + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) } if invalidParams.Len() > 0 { @@ -9377,168 +10715,63 @@ func (s *DeleteGlobalSecondaryIndexAction) Validate() error { return nil } -// SetIndexName sets the IndexName field's value. -func (s *DeleteGlobalSecondaryIndexAction) SetIndexName(v string) *DeleteGlobalSecondaryIndexAction { - s.IndexName = &v - return s -} - -// Represents the input of a DeleteItem operation. -type DeleteItemInput struct { - _ struct{} `type:"structure"` - - // A condition that must be satisfied in order for a conditional DeleteItem - // to succeed. - // - // An expression can contain any of the following: - // - // * Functions: attribute_exists | attribute_not_exists | attribute_type - // | contains | begins_with | size These function names are case-sensitive. - // - // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN - // - // * Logical operators: AND | OR | NOT - // - // For more information about condition expressions, see Condition Expressions - // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) - // in the Amazon DynamoDB Developer Guide. - ConditionExpression *string `type:"string"` - - // This is a legacy parameter. Use ConditionExpression instead. For more information, - // see ConditionalOperator (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html) - // in the Amazon DynamoDB Developer Guide. - ConditionalOperator *string `type:"string" enum:"ConditionalOperator"` - - // This is a legacy parameter. Use ConditionExpression instead. For more information, - // see Expected (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html) - // in the Amazon DynamoDB Developer Guide. - Expected map[string]*ExpectedAttributeValue `type:"map"` - - // One or more substitution tokens for attribute names in an expression. The - // following are some use cases for using ExpressionAttributeNames: - // - // * To access an attribute whose name conflicts with a DynamoDB reserved - // word. - // - // * To create a placeholder for repeating occurrences of an attribute name - // in an expression. - // - // * To prevent special characters in an attribute name from being misinterpreted - // in an expression. - // - // Use the # character in an expression to dereference an attribute name. For - // example, consider the following attribute name: - // - // * Percentile - // - // The name of this attribute conflicts with a reserved word, so it cannot be - // used directly in an expression. (For the complete list of reserved words, - // see Reserved Words (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html) - // in the Amazon DynamoDB Developer Guide). To work around this, you could specify - // the following for ExpressionAttributeNames: - // - // * {"#P":"Percentile"} - // - // You could then use this substitution in an expression, as in this example: - // - // * #P = :val - // - // Tokens that begin with the : character are expression attribute values, which - // are placeholders for the actual value at runtime. - // - // For more information on expression attribute names, see Specifying Item Attributes - // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) - // in the Amazon DynamoDB Developer Guide. - ExpressionAttributeNames map[string]*string `type:"map"` - - // One or more values that can be substituted in an expression. - // - // Use the : (colon) character in an expression to dereference an attribute - // value. For example, suppose that you wanted to check whether the value of - // the ProductStatus attribute was one of the following: - // - // Available | Backordered | Discontinued - // - // You would first need to specify ExpressionAttributeValues as follows: - // - // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} - // } - // - // You could then use these values in an expression, such as this: - // - // ProductStatus IN (:avail, :back, :disc) - // - // For more information on expression attribute values, see Condition Expressions - // (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) - // in the Amazon DynamoDB Developer Guide. - ExpressionAttributeValues map[string]*AttributeValue `type:"map"` +// SetRegionName sets the RegionName field's value. +func (s *DeleteReplicationGroupMemberAction) SetRegionName(v string) *DeleteReplicationGroupMemberAction { + s.RegionName = &v + return s +} - // A map of attribute names to AttributeValue objects, representing the primary - // key of the item to delete. - // - // For the primary key, you must provide all of the attributes. For example, - // with a simple primary key, you only need to provide a value for the partition - // key. For a composite primary key, you must provide values for both the partition - // key and the sort key. +// Represents a request to perform a DeleteItem operation on an item. +type DeleteRequest struct { + _ struct{} `type:"structure"` + + // A map of attribute name to attribute values, representing the primary key + // of the item to delete. All of the table's primary key attributes must be + // specified, and their data types must match those of the table's key schema. // // Key is a required field Key map[string]*AttributeValue `type:"map" required:"true"` +} - // Determines the level of detail about provisioned throughput consumption that - // is returned in the response: - // - // * INDEXES - The response includes the aggregate ConsumedCapacity for the - // operation, together with ConsumedCapacity for each table and secondary - // index that was accessed. Note that some operations, such as GetItem and - // BatchGetItem, do not access any indexes at all. In these cases, specifying - // INDEXES will only return ConsumedCapacity information for table(s). - // - // * TOTAL - The response includes only the aggregate ConsumedCapacity for - // the operation. - // - // * NONE - No ConsumedCapacity details are included in the response. - ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"` +// String returns the string representation +func (s DeleteRequest) String() string { + return awsutil.Prettify(s) +} - // Determines whether item collection metrics are returned. If set to SIZE, - // the response includes statistics about item collections, if any, that were - // modified during the operation are returned in the response. If set to NONE - // (the default), no statistics are returned. - ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"` +// GoString returns the string representation +func (s DeleteRequest) GoString() string { + return s.String() +} - // Use ReturnValues if you want to get the item attributes as they appeared - // before they were deleted. For DeleteItem, the valid values are: - // - // * NONE - If ReturnValues is not specified, or if its value is NONE, then - // nothing is returned. (This setting is the default for ReturnValues.) - // - // * ALL_OLD - The content of the old item is returned. - // - // The ReturnValues parameter is used by several DynamoDB operations; however, - // DeleteItem does not recognize any values other than NONE or ALL_OLD. - ReturnValues *string `type:"string" enum:"ReturnValue"` +// SetKey sets the Key field's value. +func (s *DeleteRequest) SetKey(v map[string]*AttributeValue) *DeleteRequest { + s.Key = v + return s +} - // The name of the table from which to delete the item. +// Represents the input of a DeleteTable operation. +type DeleteTableInput struct { + _ struct{} `type:"structure"` + + // The name of the table to delete. // // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DeleteItemInput) String() string { +func (s DeleteTableInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteItemInput) GoString() string { +func (s DeleteTableInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteItemInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteItemInput"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } +func (s *DeleteTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"} if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } @@ -9552,157 +10785,199 @@ func (s *DeleteItemInput) Validate() error { return nil } -// SetConditionExpression sets the ConditionExpression field's value. -func (s *DeleteItemInput) SetConditionExpression(v string) *DeleteItemInput { - s.ConditionExpression = &v +// SetTableName sets the TableName field's value. +func (s *DeleteTableInput) SetTableName(v string) *DeleteTableInput { + s.TableName = &v return s } -// SetConditionalOperator sets the ConditionalOperator field's value. -func (s *DeleteItemInput) SetConditionalOperator(v string) *DeleteItemInput { - s.ConditionalOperator = &v - return s +// Represents the output of a DeleteTable operation. +type DeleteTableOutput struct { + _ struct{} `type:"structure"` + + // Represents the properties of a table. + TableDescription *TableDescription `type:"structure"` } -// SetExpected sets the Expected field's value. -func (s *DeleteItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *DeleteItemInput { - s.Expected = v - return s +// String returns the string representation +func (s DeleteTableOutput) String() string { + return awsutil.Prettify(s) } -// SetExpressionAttributeNames sets the ExpressionAttributeNames field's value. -func (s *DeleteItemInput) SetExpressionAttributeNames(v map[string]*string) *DeleteItemInput { - s.ExpressionAttributeNames = v - return s +// GoString returns the string representation +func (s DeleteTableOutput) GoString() string { + return s.String() } -// SetExpressionAttributeValues sets the ExpressionAttributeValues field's value. -func (s *DeleteItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *DeleteItemInput { - s.ExpressionAttributeValues = v +// SetTableDescription sets the TableDescription field's value. +func (s *DeleteTableOutput) SetTableDescription(v *TableDescription) *DeleteTableOutput { + s.TableDescription = v return s } -// SetKey sets the Key field's value. -func (s *DeleteItemInput) SetKey(v map[string]*AttributeValue) *DeleteItemInput { - s.Key = v - return s +type DescribeBackupInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) associated with the backup. + // + // BackupArn is a required field + BackupArn *string `min:"37" type:"string" required:"true"` } -// SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value. -func (s *DeleteItemInput) SetReturnConsumedCapacity(v string) *DeleteItemInput { - s.ReturnConsumedCapacity = &v - return s +// String returns the string representation +func (s DescribeBackupInput) String() string { + return awsutil.Prettify(s) } -// SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value. -func (s *DeleteItemInput) SetReturnItemCollectionMetrics(v string) *DeleteItemInput { - s.ReturnItemCollectionMetrics = &v +// GoString returns the string representation +func (s DescribeBackupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBackupInput"} + if s.BackupArn == nil { + invalidParams.Add(request.NewErrParamRequired("BackupArn")) + } + if s.BackupArn != nil && len(*s.BackupArn) < 37 { + invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupArn sets the BackupArn field's value. +func (s *DescribeBackupInput) SetBackupArn(v string) *DescribeBackupInput { + s.BackupArn = &v return s } -// SetReturnValues sets the ReturnValues field's value. -func (s *DeleteItemInput) SetReturnValues(v string) *DeleteItemInput { - s.ReturnValues = &v +type DescribeBackupOutput struct { + _ struct{} `type:"structure"` + + // Contains the description of the backup created for the table. + BackupDescription *BackupDescription `type:"structure"` +} + +// String returns the string representation +func (s DescribeBackupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupOutput) GoString() string { + return s.String() +} + +// SetBackupDescription sets the BackupDescription field's value. +func (s *DescribeBackupOutput) SetBackupDescription(v *BackupDescription) *DescribeBackupOutput { + s.BackupDescription = v return s } +type DescribeContinuousBackupsInput struct { + _ struct{} `type:"structure"` + + // Name of the table for which the customer wants to check the continuous backups + // and point in time recovery settings. + // + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeContinuousBackupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeContinuousBackupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeContinuousBackupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeContinuousBackupsInput"} + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetTableName sets the TableName field's value. -func (s *DeleteItemInput) SetTableName(v string) *DeleteItemInput { +func (s *DescribeContinuousBackupsInput) SetTableName(v string) *DescribeContinuousBackupsInput { s.TableName = &v return s } -// Represents the output of a DeleteItem operation. -type DeleteItemOutput struct { +type DescribeContinuousBackupsOutput struct { _ struct{} `type:"structure"` - // A map of attribute names to AttributeValue objects, representing the item - // as it appeared before the DeleteItem operation. This map appears in the response - // only if ReturnValues was specified as ALL_OLD in the request. - Attributes map[string]*AttributeValue `type:"map"` - - // The capacity units consumed by the DeleteItem operation. The data returned - // includes the total provisioned throughput consumed, along with statistics - // for the table and any indexes involved in the operation. ConsumedCapacity - // is only returned if the ReturnConsumedCapacity parameter was specified. For - // more information, see Provisioned Mode (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html) - // in the Amazon DynamoDB Developer Guide. - ConsumedCapacity *ConsumedCapacity `type:"structure"` - - // Information about item collections, if any, that were affected by the DeleteItem - // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics - // parameter was specified. If the table does not have any local secondary indexes, - // this information is not returned in the response. - // - // Each ItemCollectionMetrics element consists of: - // - // * ItemCollectionKey - The partition key value of the item collection. - // This is the same as the partition key value of the item itself. - // - // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. - // This value is a two-element array containing a lower bound and an upper - // bound for the estimate. The estimate includes the size of all the items - // in the table, plus the size of all attributes projected into all of the - // local secondary indexes on that table. Use this estimate to measure whether - // a local secondary index is approaching its size limit. The estimate is - // subject to change over time; therefore, do not rely on the precision or - // accuracy of the estimate. - ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"` + // Represents the continuous backups and point in time recovery settings on + // the table. + ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"` } // String returns the string representation -func (s DeleteItemOutput) String() string { +func (s DescribeContinuousBackupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteItemOutput) GoString() string { +func (s DescribeContinuousBackupsOutput) GoString() string { return s.String() } -// SetAttributes sets the Attributes field's value. -func (s *DeleteItemOutput) SetAttributes(v map[string]*AttributeValue) *DeleteItemOutput { - s.Attributes = v - return s -} - -// SetConsumedCapacity sets the ConsumedCapacity field's value. -func (s *DeleteItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *DeleteItemOutput { - s.ConsumedCapacity = v - return s -} - -// SetItemCollectionMetrics sets the ItemCollectionMetrics field's value. -func (s *DeleteItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *DeleteItemOutput { - s.ItemCollectionMetrics = v +// SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value. +func (s *DescribeContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *DescribeContinuousBackupsOutput { + s.ContinuousBackupsDescription = v return s } -// Represents a replica to be removed. -type DeleteReplicaAction struct { +type DescribeContributorInsightsInput struct { _ struct{} `type:"structure"` - // The Region of the replica to be removed. + // The name of the global secondary index to describe, if applicable. + IndexName *string `min:"3" type:"string"` + + // The name of the table to describe. // - // RegionName is a required field - RegionName *string `type:"string" required:"true"` + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DeleteReplicaAction) String() string { +func (s DescribeContributorInsightsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReplicaAction) GoString() string { +func (s DescribeContributorInsightsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteReplicaAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteReplicaAction"} - if s.RegionName == nil { - invalidParams.Add(request.NewErrParamRequired("RegionName")) +func (s *DescribeContributorInsightsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeContributorInsightsInput"} + if s.IndexName != nil && len(*s.IndexName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) } if invalidParams.Len() > 0 { @@ -9711,107 +10986,167 @@ func (s *DeleteReplicaAction) Validate() error { return nil } -// SetRegionName sets the RegionName field's value. -func (s *DeleteReplicaAction) SetRegionName(v string) *DeleteReplicaAction { - s.RegionName = &v +// SetIndexName sets the IndexName field's value. +func (s *DescribeContributorInsightsInput) SetIndexName(v string) *DescribeContributorInsightsInput { + s.IndexName = &v return s } -// Represents a replica to be deleted. -type DeleteReplicationGroupMemberAction struct { +// SetTableName sets the TableName field's value. +func (s *DescribeContributorInsightsInput) SetTableName(v string) *DescribeContributorInsightsInput { + s.TableName = &v + return s +} + +type DescribeContributorInsightsOutput struct { _ struct{} `type:"structure"` - // The Region where the replica exists. + // List of names of the associated Alpine rules. + ContributorInsightsRuleList []*string `type:"list"` + + // Current Status contributor insights. + ContributorInsightsStatus *string `type:"string" enum:"ContributorInsightsStatus"` + + // Returns information about the last failure that encountered. // - // RegionName is a required field - RegionName *string `type:"string" required:"true"` + // The most common exceptions for a FAILED status are: + // + // * LimitExceededException - Per-account Amazon CloudWatch Contributor Insights + // rule limit reached. Please disable Contributor Insights for other tables/indexes + // OR disable Contributor Insights rules before retrying. + // + // * AccessDeniedException - Amazon CloudWatch Contributor Insights rules + // cannot be modified due to insufficient permissions. + // + // * AccessDeniedException - Failed to create service-linked role for Contributor + // Insights due to insufficient permissions. + // + // * InternalServerError - Failed to create Amazon CloudWatch Contributor + // Insights rules. Please retry request. + FailureException *FailureException `type:"structure"` + + // The name of the global secondary index being described. + IndexName *string `min:"3" type:"string"` + + // Timestamp of the last time the status was changed. + LastUpdateDateTime *time.Time `type:"timestamp"` + + // The name of the table being described. + TableName *string `min:"3" type:"string"` } // String returns the string representation -func (s DeleteReplicationGroupMemberAction) String() string { +func (s DescribeContributorInsightsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReplicationGroupMemberAction) GoString() string { +func (s DescribeContributorInsightsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteReplicationGroupMemberAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupMemberAction"} - if s.RegionName == nil { - invalidParams.Add(request.NewErrParamRequired("RegionName")) - } +// SetContributorInsightsRuleList sets the ContributorInsightsRuleList field's value. +func (s *DescribeContributorInsightsOutput) SetContributorInsightsRuleList(v []*string) *DescribeContributorInsightsOutput { + s.ContributorInsightsRuleList = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetContributorInsightsStatus sets the ContributorInsightsStatus field's value. +func (s *DescribeContributorInsightsOutput) SetContributorInsightsStatus(v string) *DescribeContributorInsightsOutput { + s.ContributorInsightsStatus = &v + return s } -// SetRegionName sets the RegionName field's value. -func (s *DeleteReplicationGroupMemberAction) SetRegionName(v string) *DeleteReplicationGroupMemberAction { - s.RegionName = &v +// SetFailureException sets the FailureException field's value. +func (s *DescribeContributorInsightsOutput) SetFailureException(v *FailureException) *DescribeContributorInsightsOutput { + s.FailureException = v return s } -// Represents a request to perform a DeleteItem operation on an item. -type DeleteRequest struct { +// SetIndexName sets the IndexName field's value. +func (s *DescribeContributorInsightsOutput) SetIndexName(v string) *DescribeContributorInsightsOutput { + s.IndexName = &v + return s +} + +// SetLastUpdateDateTime sets the LastUpdateDateTime field's value. +func (s *DescribeContributorInsightsOutput) SetLastUpdateDateTime(v time.Time) *DescribeContributorInsightsOutput { + s.LastUpdateDateTime = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DescribeContributorInsightsOutput) SetTableName(v string) *DescribeContributorInsightsOutput { + s.TableName = &v + return s +} + +type DescribeEndpointsInput struct { _ struct{} `type:"structure"` +} - // A map of attribute name to attribute values, representing the primary key - // of the item to delete. All of the table's primary key attributes must be - // specified, and their data types must match those of the table's key schema. +// String returns the string representation +func (s DescribeEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEndpointsInput) GoString() string { + return s.String() +} + +type DescribeEndpointsOutput struct { + _ struct{} `type:"structure"` + + // List of endpoints. // - // Key is a required field - Key map[string]*AttributeValue `type:"map" required:"true"` + // Endpoints is a required field + Endpoints []*Endpoint `type:"list" required:"true"` } // String returns the string representation -func (s DeleteRequest) String() string { +func (s DescribeEndpointsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteRequest) GoString() string { +func (s DescribeEndpointsOutput) GoString() string { return s.String() } -// SetKey sets the Key field's value. -func (s *DeleteRequest) SetKey(v map[string]*AttributeValue) *DeleteRequest { - s.Key = v +// SetEndpoints sets the Endpoints field's value. +func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput { + s.Endpoints = v return s } -// Represents the input of a DeleteTable operation. -type DeleteTableInput struct { +type DescribeExportInput struct { _ struct{} `type:"structure"` - // The name of the table to delete. + // The Amazon Resource Name (ARN) associated with the export. // - // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + // ExportArn is a required field + ExportArn *string `min:"37" type:"string" required:"true"` } // String returns the string representation -func (s DeleteTableInput) String() string { +func (s DescribeExportInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTableInput) GoString() string { +func (s DescribeExportInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"} - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) +func (s *DescribeExportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeExportInput"} + if s.ExportArn == nil { + invalidParams.Add(request.NewErrParamRequired("ExportArn")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.ExportArn != nil && len(*s.ExportArn) < 37 { + invalidParams.Add(request.NewErrParamMinLen("ExportArn", 37)) } if invalidParams.Len() > 0 { @@ -9820,63 +11155,62 @@ func (s *DeleteTableInput) Validate() error { return nil } -// SetTableName sets the TableName field's value. -func (s *DeleteTableInput) SetTableName(v string) *DeleteTableInput { - s.TableName = &v +// SetExportArn sets the ExportArn field's value. +func (s *DescribeExportInput) SetExportArn(v string) *DescribeExportInput { + s.ExportArn = &v return s } -// Represents the output of a DeleteTable operation. -type DeleteTableOutput struct { +type DescribeExportOutput struct { _ struct{} `type:"structure"` - // Represents the properties of a table. - TableDescription *TableDescription `type:"structure"` + // Represents the properties of the export. + ExportDescription *ExportDescription `type:"structure"` } // String returns the string representation -func (s DeleteTableOutput) String() string { +func (s DescribeExportOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTableOutput) GoString() string { +func (s DescribeExportOutput) GoString() string { return s.String() } -// SetTableDescription sets the TableDescription field's value. -func (s *DeleteTableOutput) SetTableDescription(v *TableDescription) *DeleteTableOutput { - s.TableDescription = v +// SetExportDescription sets the ExportDescription field's value. +func (s *DescribeExportOutput) SetExportDescription(v *ExportDescription) *DescribeExportOutput { + s.ExportDescription = v return s } -type DescribeBackupInput struct { +type DescribeGlobalTableInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) associated with the backup. + // The name of the global table. // - // BackupArn is a required field - BackupArn *string `min:"37" type:"string" required:"true"` + // GlobalTableName is a required field + GlobalTableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DescribeBackupInput) String() string { +func (s DescribeGlobalTableInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeBackupInput) GoString() string { +func (s DescribeGlobalTableInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeBackupInput"} - if s.BackupArn == nil { - invalidParams.Add(request.NewErrParamRequired("BackupArn")) +func (s *DescribeGlobalTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableInput"} + if s.GlobalTableName == nil { + invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) } - if s.BackupArn != nil && len(*s.BackupArn) < 37 { - invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37)) + if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) } if invalidParams.Len() > 0 { @@ -9885,63 +11219,62 @@ func (s *DescribeBackupInput) Validate() error { return nil } -// SetBackupArn sets the BackupArn field's value. -func (s *DescribeBackupInput) SetBackupArn(v string) *DescribeBackupInput { - s.BackupArn = &v +// SetGlobalTableName sets the GlobalTableName field's value. +func (s *DescribeGlobalTableInput) SetGlobalTableName(v string) *DescribeGlobalTableInput { + s.GlobalTableName = &v return s } -type DescribeBackupOutput struct { +type DescribeGlobalTableOutput struct { _ struct{} `type:"structure"` - // Contains the description of the backup created for the table. - BackupDescription *BackupDescription `type:"structure"` + // Contains the details of the global table. + GlobalTableDescription *GlobalTableDescription `type:"structure"` } // String returns the string representation -func (s DescribeBackupOutput) String() string { +func (s DescribeGlobalTableOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeBackupOutput) GoString() string { +func (s DescribeGlobalTableOutput) GoString() string { return s.String() } -// SetBackupDescription sets the BackupDescription field's value. -func (s *DescribeBackupOutput) SetBackupDescription(v *BackupDescription) *DescribeBackupOutput { - s.BackupDescription = v +// SetGlobalTableDescription sets the GlobalTableDescription field's value. +func (s *DescribeGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *DescribeGlobalTableOutput { + s.GlobalTableDescription = v return s } -type DescribeContinuousBackupsInput struct { +type DescribeGlobalTableSettingsInput struct { _ struct{} `type:"structure"` - // Name of the table for which the customer wants to check the continuous backups - // and point in time recovery settings. + // The name of the global table to describe. // - // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + // GlobalTableName is a required field + GlobalTableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DescribeContinuousBackupsInput) String() string { +func (s DescribeGlobalTableSettingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeContinuousBackupsInput) GoString() string { +func (s DescribeGlobalTableSettingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeContinuousBackupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeContinuousBackupsInput"} - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) +func (s *DescribeGlobalTableSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableSettingsInput"} + if s.GlobalTableName == nil { + invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) } if invalidParams.Len() > 0 { @@ -9950,64 +11283,66 @@ func (s *DescribeContinuousBackupsInput) Validate() error { return nil } -// SetTableName sets the TableName field's value. -func (s *DescribeContinuousBackupsInput) SetTableName(v string) *DescribeContinuousBackupsInput { - s.TableName = &v +// SetGlobalTableName sets the GlobalTableName field's value. +func (s *DescribeGlobalTableSettingsInput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsInput { + s.GlobalTableName = &v return s } -type DescribeContinuousBackupsOutput struct { +type DescribeGlobalTableSettingsOutput struct { _ struct{} `type:"structure"` - // Represents the continuous backups and point in time recovery settings on - // the table. - ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"` + // The name of the global table. + GlobalTableName *string `min:"3" type:"string"` + + // The Region-specific settings for the global table. + ReplicaSettings []*ReplicaSettingsDescription `type:"list"` } // String returns the string representation -func (s DescribeContinuousBackupsOutput) String() string { +func (s DescribeGlobalTableSettingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeContinuousBackupsOutput) GoString() string { +func (s DescribeGlobalTableSettingsOutput) GoString() string { return s.String() } -// SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value. -func (s *DescribeContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *DescribeContinuousBackupsOutput { - s.ContinuousBackupsDescription = v +// SetGlobalTableName sets the GlobalTableName field's value. +func (s *DescribeGlobalTableSettingsOutput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsOutput { + s.GlobalTableName = &v return s } -type DescribeContributorInsightsInput struct { - _ struct{} `type:"structure"` +// SetReplicaSettings sets the ReplicaSettings field's value. +func (s *DescribeGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *DescribeGlobalTableSettingsOutput { + s.ReplicaSettings = v + return s +} - // The name of the global secondary index to describe, if applicable. - IndexName *string `min:"3" type:"string"` +type DescribeKinesisStreamingDestinationInput struct { + _ struct{} `type:"structure"` - // The name of the table to describe. + // The name of the table being described. // // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DescribeContributorInsightsInput) String() string { +func (s DescribeKinesisStreamingDestinationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeContributorInsightsInput) GoString() string { +func (s DescribeKinesisStreamingDestinationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeContributorInsightsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeContributorInsightsInput"} - if s.IndexName != nil && len(*s.IndexName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) - } +func (s *DescribeKinesisStreamingDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeKinesisStreamingDestinationInput"} if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } @@ -10021,167 +11356,209 @@ func (s *DescribeContributorInsightsInput) Validate() error { return nil } -// SetIndexName sets the IndexName field's value. -func (s *DescribeContributorInsightsInput) SetIndexName(v string) *DescribeContributorInsightsInput { - s.IndexName = &v - return s -} - // SetTableName sets the TableName field's value. -func (s *DescribeContributorInsightsInput) SetTableName(v string) *DescribeContributorInsightsInput { +func (s *DescribeKinesisStreamingDestinationInput) SetTableName(v string) *DescribeKinesisStreamingDestinationInput { s.TableName = &v return s } -type DescribeContributorInsightsOutput struct { +type DescribeKinesisStreamingDestinationOutput struct { _ struct{} `type:"structure"` - // List of names of the associated Alpine rules. - ContributorInsightsRuleList []*string `type:"list"` - - // Current Status contributor insights. - ContributorInsightsStatus *string `type:"string" enum:"ContributorInsightsStatus"` - - // Returns information about the last failure that encountered. - // - // The most common exceptions for a FAILED status are: - // - // * LimitExceededException - Per-account Amazon CloudWatch Contributor Insights - // rule limit reached. Please disable Contributor Insights for other tables/indexes - // OR disable Contributor Insights rules before retrying. - // - // * AccessDeniedException - Amazon CloudWatch Contributor Insights rules - // cannot be modified due to insufficient permissions. - // - // * AccessDeniedException - Failed to create service-linked role for Contributor - // Insights due to insufficient permissions. - // - // * InternalServerError - Failed to create Amazon CloudWatch Contributor - // Insights rules. Please retry request. - FailureException *FailureException `type:"structure"` - - // The name of the global secondary index being described. - IndexName *string `min:"3" type:"string"` - - // Timestamp of the last time the status was changed. - LastUpdateDateTime *time.Time `type:"timestamp"` + // The list of replica structures for the table being described. + KinesisDataStreamDestinations []*KinesisDataStreamDestination `type:"list"` // The name of the table being described. TableName *string `min:"3" type:"string"` } // String returns the string representation -func (s DescribeContributorInsightsOutput) String() string { +func (s DescribeKinesisStreamingDestinationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeContributorInsightsOutput) GoString() string { +func (s DescribeKinesisStreamingDestinationOutput) GoString() string { return s.String() } -// SetContributorInsightsRuleList sets the ContributorInsightsRuleList field's value. -func (s *DescribeContributorInsightsOutput) SetContributorInsightsRuleList(v []*string) *DescribeContributorInsightsOutput { - s.ContributorInsightsRuleList = v +// SetKinesisDataStreamDestinations sets the KinesisDataStreamDestinations field's value. +func (s *DescribeKinesisStreamingDestinationOutput) SetKinesisDataStreamDestinations(v []*KinesisDataStreamDestination) *DescribeKinesisStreamingDestinationOutput { + s.KinesisDataStreamDestinations = v return s } -// SetContributorInsightsStatus sets the ContributorInsightsStatus field's value. -func (s *DescribeContributorInsightsOutput) SetContributorInsightsStatus(v string) *DescribeContributorInsightsOutput { - s.ContributorInsightsStatus = &v +// SetTableName sets the TableName field's value. +func (s *DescribeKinesisStreamingDestinationOutput) SetTableName(v string) *DescribeKinesisStreamingDestinationOutput { + s.TableName = &v return s } -// SetFailureException sets the FailureException field's value. -func (s *DescribeContributorInsightsOutput) SetFailureException(v *FailureException) *DescribeContributorInsightsOutput { - s.FailureException = v +// Represents the input of a DescribeLimits operation. Has no content. +type DescribeLimitsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DescribeLimitsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLimitsInput) GoString() string { + return s.String() +} + +// Represents the output of a DescribeLimits operation. +type DescribeLimitsOutput struct { + _ struct{} `type:"structure"` + + // The maximum total read capacity units that your account allows you to provision + // across all of your tables in this Region. + AccountMaxReadCapacityUnits *int64 `min:"1" type:"long"` + + // The maximum total write capacity units that your account allows you to provision + // across all of your tables in this Region. + AccountMaxWriteCapacityUnits *int64 `min:"1" type:"long"` + + // The maximum read capacity units that your account allows you to provision + // for a new table that you are creating in this Region, including the read + // capacity units provisioned for its global secondary indexes (GSIs). + TableMaxReadCapacityUnits *int64 `min:"1" type:"long"` + + // The maximum write capacity units that your account allows you to provision + // for a new table that you are creating in this Region, including the write + // capacity units provisioned for its global secondary indexes (GSIs). + TableMaxWriteCapacityUnits *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DescribeLimitsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLimitsOutput) GoString() string { + return s.String() +} + +// SetAccountMaxReadCapacityUnits sets the AccountMaxReadCapacityUnits field's value. +func (s *DescribeLimitsOutput) SetAccountMaxReadCapacityUnits(v int64) *DescribeLimitsOutput { + s.AccountMaxReadCapacityUnits = &v return s } -// SetIndexName sets the IndexName field's value. -func (s *DescribeContributorInsightsOutput) SetIndexName(v string) *DescribeContributorInsightsOutput { - s.IndexName = &v +// SetAccountMaxWriteCapacityUnits sets the AccountMaxWriteCapacityUnits field's value. +func (s *DescribeLimitsOutput) SetAccountMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput { + s.AccountMaxWriteCapacityUnits = &v return s } -// SetLastUpdateDateTime sets the LastUpdateDateTime field's value. -func (s *DescribeContributorInsightsOutput) SetLastUpdateDateTime(v time.Time) *DescribeContributorInsightsOutput { - s.LastUpdateDateTime = &v +// SetTableMaxReadCapacityUnits sets the TableMaxReadCapacityUnits field's value. +func (s *DescribeLimitsOutput) SetTableMaxReadCapacityUnits(v int64) *DescribeLimitsOutput { + s.TableMaxReadCapacityUnits = &v return s } -// SetTableName sets the TableName field's value. -func (s *DescribeContributorInsightsOutput) SetTableName(v string) *DescribeContributorInsightsOutput { - s.TableName = &v +// SetTableMaxWriteCapacityUnits sets the TableMaxWriteCapacityUnits field's value. +func (s *DescribeLimitsOutput) SetTableMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput { + s.TableMaxWriteCapacityUnits = &v return s } -type DescribeEndpointsInput struct { +// Represents the input of a DescribeTable operation. +type DescribeTableInput struct { _ struct{} `type:"structure"` + + // The name of the table to describe. + // + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DescribeEndpointsInput) String() string { +func (s DescribeTableInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeEndpointsInput) GoString() string { +func (s DescribeTableInput) GoString() string { return s.String() } -type DescribeEndpointsOutput struct { +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTableInput"} + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTableName sets the TableName field's value. +func (s *DescribeTableInput) SetTableName(v string) *DescribeTableInput { + s.TableName = &v + return s +} + +// Represents the output of a DescribeTable operation. +type DescribeTableOutput struct { _ struct{} `type:"structure"` - // List of endpoints. - // - // Endpoints is a required field - Endpoints []*Endpoint `type:"list" required:"true"` + // The properties of the table. + Table *TableDescription `type:"structure"` } // String returns the string representation -func (s DescribeEndpointsOutput) String() string { +func (s DescribeTableOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeEndpointsOutput) GoString() string { +func (s DescribeTableOutput) GoString() string { return s.String() } -// SetEndpoints sets the Endpoints field's value. -func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput { - s.Endpoints = v +// SetTable sets the Table field's value. +func (s *DescribeTableOutput) SetTable(v *TableDescription) *DescribeTableOutput { + s.Table = v return s } -type DescribeExportInput struct { +type DescribeTableReplicaAutoScalingInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) associated with the export. + // The name of the table. // - // ExportArn is a required field - ExportArn *string `min:"37" type:"string" required:"true"` + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DescribeExportInput) String() string { +func (s DescribeTableReplicaAutoScalingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeExportInput) GoString() string { +func (s DescribeTableReplicaAutoScalingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeExportInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeExportInput"} - if s.ExportArn == nil { - invalidParams.Add(request.NewErrParamRequired("ExportArn")) +func (s *DescribeTableReplicaAutoScalingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTableReplicaAutoScalingInput"} + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.ExportArn != nil && len(*s.ExportArn) < 37 { - invalidParams.Add(request.NewErrParamMinLen("ExportArn", 37)) + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) } if invalidParams.Len() > 0 { @@ -10190,62 +11567,62 @@ func (s *DescribeExportInput) Validate() error { return nil } -// SetExportArn sets the ExportArn field's value. -func (s *DescribeExportInput) SetExportArn(v string) *DescribeExportInput { - s.ExportArn = &v +// SetTableName sets the TableName field's value. +func (s *DescribeTableReplicaAutoScalingInput) SetTableName(v string) *DescribeTableReplicaAutoScalingInput { + s.TableName = &v return s } -type DescribeExportOutput struct { +type DescribeTableReplicaAutoScalingOutput struct { _ struct{} `type:"structure"` - // Represents the properties of the export. - ExportDescription *ExportDescription `type:"structure"` + // Represents the auto scaling properties of the table. + TableAutoScalingDescription *TableAutoScalingDescription `type:"structure"` } // String returns the string representation -func (s DescribeExportOutput) String() string { +func (s DescribeTableReplicaAutoScalingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeExportOutput) GoString() string { +func (s DescribeTableReplicaAutoScalingOutput) GoString() string { return s.String() } -// SetExportDescription sets the ExportDescription field's value. -func (s *DescribeExportOutput) SetExportDescription(v *ExportDescription) *DescribeExportOutput { - s.ExportDescription = v +// SetTableAutoScalingDescription sets the TableAutoScalingDescription field's value. +func (s *DescribeTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v *TableAutoScalingDescription) *DescribeTableReplicaAutoScalingOutput { + s.TableAutoScalingDescription = v return s } -type DescribeGlobalTableInput struct { +type DescribeTimeToLiveInput struct { _ struct{} `type:"structure"` - // The name of the global table. + // The name of the table to be described. // - // GlobalTableName is a required field - GlobalTableName *string `min:"3" type:"string" required:"true"` + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DescribeGlobalTableInput) String() string { +func (s DescribeTimeToLiveInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGlobalTableInput) GoString() string { +func (s DescribeTimeToLiveInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeGlobalTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableInput"} - if s.GlobalTableName == nil { - invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) +func (s *DescribeTimeToLiveInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTimeToLiveInput"} + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) } - if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) } if invalidParams.Len() > 0 { @@ -10254,62 +11631,73 @@ func (s *DescribeGlobalTableInput) Validate() error { return nil } -// SetGlobalTableName sets the GlobalTableName field's value. -func (s *DescribeGlobalTableInput) SetGlobalTableName(v string) *DescribeGlobalTableInput { - s.GlobalTableName = &v +// SetTableName sets the TableName field's value. +func (s *DescribeTimeToLiveInput) SetTableName(v string) *DescribeTimeToLiveInput { + s.TableName = &v return s } -type DescribeGlobalTableOutput struct { +type DescribeTimeToLiveOutput struct { _ struct{} `type:"structure"` - // Contains the details of the global table. - GlobalTableDescription *GlobalTableDescription `type:"structure"` + // The description of the Time to Live (TTL) status on the specified table. + TimeToLiveDescription *TimeToLiveDescription `type:"structure"` } // String returns the string representation -func (s DescribeGlobalTableOutput) String() string { +func (s DescribeTimeToLiveOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGlobalTableOutput) GoString() string { +func (s DescribeTimeToLiveOutput) GoString() string { return s.String() } -// SetGlobalTableDescription sets the GlobalTableDescription field's value. -func (s *DescribeGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *DescribeGlobalTableOutput { - s.GlobalTableDescription = v +// SetTimeToLiveDescription sets the TimeToLiveDescription field's value. +func (s *DescribeTimeToLiveOutput) SetTimeToLiveDescription(v *TimeToLiveDescription) *DescribeTimeToLiveOutput { + s.TimeToLiveDescription = v return s } -type DescribeGlobalTableSettingsInput struct { +type DisableKinesisStreamingDestinationInput struct { _ struct{} `type:"structure"` - // The name of the global table to describe. + // The ARN for a Kinesis data stream. // - // GlobalTableName is a required field - GlobalTableName *string `min:"3" type:"string" required:"true"` + // StreamArn is a required field + StreamArn *string `min:"37" type:"string" required:"true"` + + // The name of the DynamoDB table. + // + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DescribeGlobalTableSettingsInput) String() string { +func (s DisableKinesisStreamingDestinationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGlobalTableSettingsInput) GoString() string { +func (s DisableKinesisStreamingDestinationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeGlobalTableSettingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableSettingsInput"} - if s.GlobalTableName == nil { - invalidParams.Add(request.NewErrParamRequired("GlobalTableName")) +func (s *DisableKinesisStreamingDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableKinesisStreamingDestinationInput"} + if s.StreamArn == nil { + invalidParams.Add(request.NewErrParamRequired("StreamArn")) } - if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3)) + if s.StreamArn != nil && len(*s.StreamArn) < 37 { + invalidParams.Add(request.NewErrParamMinLen("StreamArn", 37)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) } if invalidParams.Len() > 0 { @@ -10318,209 +11706,296 @@ func (s *DescribeGlobalTableSettingsInput) Validate() error { return nil } -// SetGlobalTableName sets the GlobalTableName field's value. -func (s *DescribeGlobalTableSettingsInput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsInput { - s.GlobalTableName = &v +// SetStreamArn sets the StreamArn field's value. +func (s *DisableKinesisStreamingDestinationInput) SetStreamArn(v string) *DisableKinesisStreamingDestinationInput { + s.StreamArn = &v return s } -type DescribeGlobalTableSettingsOutput struct { +// SetTableName sets the TableName field's value. +func (s *DisableKinesisStreamingDestinationInput) SetTableName(v string) *DisableKinesisStreamingDestinationInput { + s.TableName = &v + return s +} + +type DisableKinesisStreamingDestinationOutput struct { _ struct{} `type:"structure"` - // The name of the global table. - GlobalTableName *string `min:"3" type:"string"` + // The current status of the replication. + DestinationStatus *string `type:"string" enum:"DestinationStatus"` - // The Region-specific settings for the global table. - ReplicaSettings []*ReplicaSettingsDescription `type:"list"` + // The ARN for the specific Kinesis data stream. + StreamArn *string `min:"37" type:"string"` + + // The name of the table being modified. + TableName *string `min:"3" type:"string"` } // String returns the string representation -func (s DescribeGlobalTableSettingsOutput) String() string { +func (s DisableKinesisStreamingDestinationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGlobalTableSettingsOutput) GoString() string { +func (s DisableKinesisStreamingDestinationOutput) GoString() string { return s.String() } -// SetGlobalTableName sets the GlobalTableName field's value. -func (s *DescribeGlobalTableSettingsOutput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsOutput { - s.GlobalTableName = &v +// SetDestinationStatus sets the DestinationStatus field's value. +func (s *DisableKinesisStreamingDestinationOutput) SetDestinationStatus(v string) *DisableKinesisStreamingDestinationOutput { + s.DestinationStatus = &v return s } -// SetReplicaSettings sets the ReplicaSettings field's value. -func (s *DescribeGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *DescribeGlobalTableSettingsOutput { - s.ReplicaSettings = v +// SetStreamArn sets the StreamArn field's value. +func (s *DisableKinesisStreamingDestinationOutput) SetStreamArn(v string) *DisableKinesisStreamingDestinationOutput { + s.StreamArn = &v return s } -// Represents the input of a DescribeLimits operation. Has no content. -type DescribeLimitsInput struct { - _ struct{} `type:"structure"` +// SetTableName sets the TableName field's value. +func (s *DisableKinesisStreamingDestinationOutput) SetTableName(v string) *DisableKinesisStreamingDestinationOutput { + s.TableName = &v + return s +} + +// There was an attempt to insert an item with the same primary key as an item +// that already exists in the DynamoDB table. +type DuplicateItemException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s DescribeLimitsInput) String() string { +func (s DuplicateItemException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeLimitsInput) GoString() string { +func (s DuplicateItemException) GoString() string { return s.String() } -// Represents the output of a DescribeLimits operation. -type DescribeLimitsOutput struct { - _ struct{} `type:"structure"` +func newErrorDuplicateItemException(v protocol.ResponseMetadata) error { + return &DuplicateItemException{ + RespMetadata: v, + } +} - // The maximum total read capacity units that your account allows you to provision - // across all of your tables in this Region. - AccountMaxReadCapacityUnits *int64 `min:"1" type:"long"` +// Code returns the exception type name. +func (s *DuplicateItemException) Code() string { + return "DuplicateItemException" +} - // The maximum total write capacity units that your account allows you to provision - // across all of your tables in this Region. - AccountMaxWriteCapacityUnits *int64 `min:"1" type:"long"` +// Message returns the exception's message. +func (s *DuplicateItemException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The maximum read capacity units that your account allows you to provision - // for a new table that you are creating in this Region, including the read - // capacity units provisioned for its global secondary indexes (GSIs). - TableMaxReadCapacityUnits *int64 `min:"1" type:"long"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DuplicateItemException) OrigErr() error { + return nil +} - // The maximum write capacity units that your account allows you to provision - // for a new table that you are creating in this Region, including the write - // capacity units provisioned for its global secondary indexes (GSIs). - TableMaxWriteCapacityUnits *int64 `min:"1" type:"long"` +func (s *DuplicateItemException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *DuplicateItemException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DuplicateItemException) RequestID() string { + return s.RespMetadata.RequestID +} + +type EnableKinesisStreamingDestinationInput struct { + _ struct{} `type:"structure"` + + // The ARN for a Kinesis data stream. + // + // StreamArn is a required field + StreamArn *string `min:"37" type:"string" required:"true"` + + // The name of the DynamoDB table. + // + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DescribeLimitsOutput) String() string { +func (s EnableKinesisStreamingDestinationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeLimitsOutput) GoString() string { +func (s EnableKinesisStreamingDestinationInput) GoString() string { return s.String() } -// SetAccountMaxReadCapacityUnits sets the AccountMaxReadCapacityUnits field's value. -func (s *DescribeLimitsOutput) SetAccountMaxReadCapacityUnits(v int64) *DescribeLimitsOutput { - s.AccountMaxReadCapacityUnits = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableKinesisStreamingDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableKinesisStreamingDestinationInput"} + if s.StreamArn == nil { + invalidParams.Add(request.NewErrParamRequired("StreamArn")) + } + if s.StreamArn != nil && len(*s.StreamArn) < 37 { + invalidParams.Add(request.NewErrParamMinLen("StreamArn", 37)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + } -// SetAccountMaxWriteCapacityUnits sets the AccountMaxWriteCapacityUnits field's value. -func (s *DescribeLimitsOutput) SetAccountMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput { - s.AccountMaxWriteCapacityUnits = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTableMaxReadCapacityUnits sets the TableMaxReadCapacityUnits field's value. -func (s *DescribeLimitsOutput) SetTableMaxReadCapacityUnits(v int64) *DescribeLimitsOutput { - s.TableMaxReadCapacityUnits = &v +// SetStreamArn sets the StreamArn field's value. +func (s *EnableKinesisStreamingDestinationInput) SetStreamArn(v string) *EnableKinesisStreamingDestinationInput { + s.StreamArn = &v return s } -// SetTableMaxWriteCapacityUnits sets the TableMaxWriteCapacityUnits field's value. -func (s *DescribeLimitsOutput) SetTableMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput { - s.TableMaxWriteCapacityUnits = &v +// SetTableName sets the TableName field's value. +func (s *EnableKinesisStreamingDestinationInput) SetTableName(v string) *EnableKinesisStreamingDestinationInput { + s.TableName = &v return s } -// Represents the input of a DescribeTable operation. -type DescribeTableInput struct { +type EnableKinesisStreamingDestinationOutput struct { _ struct{} `type:"structure"` - // The name of the table to describe. - // - // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + // The current status of the replication. + DestinationStatus *string `type:"string" enum:"DestinationStatus"` + + // The ARN for the specific Kinesis data stream. + StreamArn *string `min:"37" type:"string"` + + // The name of the table being modified. + TableName *string `min:"3" type:"string"` } // String returns the string representation -func (s DescribeTableInput) String() string { +func (s EnableKinesisStreamingDestinationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTableInput) GoString() string { +func (s EnableKinesisStreamingDestinationOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTableInput"} - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) - } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDestinationStatus sets the DestinationStatus field's value. +func (s *EnableKinesisStreamingDestinationOutput) SetDestinationStatus(v string) *EnableKinesisStreamingDestinationOutput { + s.DestinationStatus = &v + return s +} + +// SetStreamArn sets the StreamArn field's value. +func (s *EnableKinesisStreamingDestinationOutput) SetStreamArn(v string) *EnableKinesisStreamingDestinationOutput { + s.StreamArn = &v + return s } // SetTableName sets the TableName field's value. -func (s *DescribeTableInput) SetTableName(v string) *DescribeTableInput { +func (s *EnableKinesisStreamingDestinationOutput) SetTableName(v string) *EnableKinesisStreamingDestinationOutput { s.TableName = &v return s } -// Represents the output of a DescribeTable operation. -type DescribeTableOutput struct { +// An endpoint information details. +type Endpoint struct { _ struct{} `type:"structure"` - // The properties of the table. - Table *TableDescription `type:"structure"` + // IP address of the endpoint. + // + // Address is a required field + Address *string `type:"string" required:"true"` + + // Endpoint cache time to live (TTL) value. + // + // CachePeriodInMinutes is a required field + CachePeriodInMinutes *int64 `type:"long" required:"true"` } // String returns the string representation -func (s DescribeTableOutput) String() string { +func (s Endpoint) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTableOutput) GoString() string { +func (s Endpoint) GoString() string { return s.String() } -// SetTable sets the Table field's value. -func (s *DescribeTableOutput) SetTable(v *TableDescription) *DescribeTableOutput { - s.Table = v +// SetAddress sets the Address field's value. +func (s *Endpoint) SetAddress(v string) *Endpoint { + s.Address = &v return s } -type DescribeTableReplicaAutoScalingInput struct { +// SetCachePeriodInMinutes sets the CachePeriodInMinutes field's value. +func (s *Endpoint) SetCachePeriodInMinutes(v int64) *Endpoint { + s.CachePeriodInMinutes = &v + return s +} + +type ExecuteStatementInput struct { _ struct{} `type:"structure"` - // The name of the table. + // The consistency of a read operation. If set to true, then a strongly consistent + // read is used; otherwise, an eventually consistent read is used. + ConsistentRead *bool `type:"boolean"` + + // Set this value to get remaining results, if NextToken was returned in the + // statement response. + NextToken *string `min:"1" type:"string"` + + // The parameters for the PartiQL statement, if any. + Parameters []*AttributeValue `min:"1" type:"list"` + + // The PartiQL statement representing the operation to run. // - // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + // Statement is a required field + Statement *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DescribeTableReplicaAutoScalingInput) String() string { +func (s ExecuteStatementInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTableReplicaAutoScalingInput) GoString() string { +func (s ExecuteStatementInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTableReplicaAutoScalingInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTableReplicaAutoScalingInput"} - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) +func (s *ExecuteStatementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExecuteStatementInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.Parameters != nil && len(s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + if s.Statement == nil { + invalidParams.Add(request.NewErrParamRequired("Statement")) + } + if s.Statement != nil && len(*s.Statement) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Statement", 1)) } if invalidParams.Len() > 0 { @@ -10529,62 +12004,110 @@ func (s *DescribeTableReplicaAutoScalingInput) Validate() error { return nil } -// SetTableName sets the TableName field's value. -func (s *DescribeTableReplicaAutoScalingInput) SetTableName(v string) *DescribeTableReplicaAutoScalingInput { - s.TableName = &v +// SetConsistentRead sets the ConsistentRead field's value. +func (s *ExecuteStatementInput) SetConsistentRead(v bool) *ExecuteStatementInput { + s.ConsistentRead = &v return s } -type DescribeTableReplicaAutoScalingOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ExecuteStatementInput) SetNextToken(v string) *ExecuteStatementInput { + s.NextToken = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *ExecuteStatementInput) SetParameters(v []*AttributeValue) *ExecuteStatementInput { + s.Parameters = v + return s +} + +// SetStatement sets the Statement field's value. +func (s *ExecuteStatementInput) SetStatement(v string) *ExecuteStatementInput { + s.Statement = &v + return s +} + +type ExecuteStatementOutput struct { _ struct{} `type:"structure"` - // Represents the auto scaling properties of the table. - TableAutoScalingDescription *TableAutoScalingDescription `type:"structure"` + // If a read operation was used, this property will contain the result of the + // reade operation; a map of attribute names and their values. For the write + // operations this value will be empty. + Items []map[string]*AttributeValue `type:"list"` + + // If the response of a read request exceeds the response payload limit DynamoDB + // will set this value in the response. If set, you can use that this value + // in the subsequent request to get the remaining results. + NextToken *string `min:"1" type:"string"` } // String returns the string representation -func (s DescribeTableReplicaAutoScalingOutput) String() string { +func (s ExecuteStatementOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTableReplicaAutoScalingOutput) GoString() string { +func (s ExecuteStatementOutput) GoString() string { return s.String() } -// SetTableAutoScalingDescription sets the TableAutoScalingDescription field's value. -func (s *DescribeTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v *TableAutoScalingDescription) *DescribeTableReplicaAutoScalingOutput { - s.TableAutoScalingDescription = v +// SetItems sets the Items field's value. +func (s *ExecuteStatementOutput) SetItems(v []map[string]*AttributeValue) *ExecuteStatementOutput { + s.Items = v return s } -type DescribeTimeToLiveInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ExecuteStatementOutput) SetNextToken(v string) *ExecuteStatementOutput { + s.NextToken = &v + return s +} + +type ExecuteTransactionInput struct { _ struct{} `type:"structure"` - // The name of the table to be described. + // Set this value to get remaining results, if NextToken was returned in the + // statement response. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The list of PartiQL statements representing the transaction to run. // - // TableName is a required field - TableName *string `min:"3" type:"string" required:"true"` + // TransactStatements is a required field + TransactStatements []*ParameterizedStatement `min:"1" type:"list" required:"true"` } // String returns the string representation -func (s DescribeTimeToLiveInput) String() string { +func (s ExecuteTransactionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTimeToLiveInput) GoString() string { +func (s ExecuteTransactionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTimeToLiveInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTimeToLiveInput"} - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) +func (s *ExecuteTransactionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExecuteTransactionInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.TableName != nil && len(*s.TableName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + if s.TransactStatements == nil { + invalidParams.Add(request.NewErrParamRequired("TransactStatements")) + } + if s.TransactStatements != nil && len(s.TransactStatements) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactStatements", 1)) + } + if s.TransactStatements != nil { + for i, v := range s.TransactStatements { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactStatements", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -10593,69 +12116,38 @@ func (s *DescribeTimeToLiveInput) Validate() error { return nil } -// SetTableName sets the TableName field's value. -func (s *DescribeTimeToLiveInput) SetTableName(v string) *DescribeTimeToLiveInput { - s.TableName = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *ExecuteTransactionInput) SetClientRequestToken(v string) *ExecuteTransactionInput { + s.ClientRequestToken = &v return s } -type DescribeTimeToLiveOutput struct { - _ struct{} `type:"structure"` - - // The description of the Time to Live (TTL) status on the specified table. - TimeToLiveDescription *TimeToLiveDescription `type:"structure"` -} - -// String returns the string representation -func (s DescribeTimeToLiveOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeTimeToLiveOutput) GoString() string { - return s.String() -} - -// SetTimeToLiveDescription sets the TimeToLiveDescription field's value. -func (s *DescribeTimeToLiveOutput) SetTimeToLiveDescription(v *TimeToLiveDescription) *DescribeTimeToLiveOutput { - s.TimeToLiveDescription = v +// SetTransactStatements sets the TransactStatements field's value. +func (s *ExecuteTransactionInput) SetTransactStatements(v []*ParameterizedStatement) *ExecuteTransactionInput { + s.TransactStatements = v return s } -// An endpoint information details. -type Endpoint struct { +type ExecuteTransactionOutput struct { _ struct{} `type:"structure"` - // IP address of the endpoint. - // - // Address is a required field - Address *string `type:"string" required:"true"` - - // Endpoint cache time to live (TTL) value. - // - // CachePeriodInMinutes is a required field - CachePeriodInMinutes *int64 `type:"long" required:"true"` + // The response to a PartiQL transaction. + Responses []*ItemResponse `min:"1" type:"list"` } // String returns the string representation -func (s Endpoint) String() string { +func (s ExecuteTransactionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Endpoint) GoString() string { +func (s ExecuteTransactionOutput) GoString() string { return s.String() } -// SetAddress sets the Address field's value. -func (s *Endpoint) SetAddress(v string) *Endpoint { - s.Address = &v - return s -} - -// SetCachePeriodInMinutes sets the CachePeriodInMinutes field's value. -func (s *Endpoint) SetCachePeriodInMinutes(v int64) *Endpoint { - s.CachePeriodInMinutes = &v +// SetResponses sets the Responses field's value. +func (s *ExecuteTransactionOutput) SetResponses(v []*ItemResponse) *ExecuteTransactionOutput { + s.Responses = v return s } @@ -13087,6 +14579,48 @@ func (s *KeysAndAttributes) SetProjectionExpression(v string) *KeysAndAttributes return s } +// Describes a Kinesis data stream destination. +type KinesisDataStreamDestination struct { + _ struct{} `type:"structure"` + + // The current status of replication. + DestinationStatus *string `type:"string" enum:"DestinationStatus"` + + // The human-readable string that corresponds to the replica status. + DestinationStatusDescription *string `type:"string"` + + // The ARN for a specific Kinesis data stream. + StreamArn *string `min:"37" type:"string"` +} + +// String returns the string representation +func (s KinesisDataStreamDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisDataStreamDestination) GoString() string { + return s.String() +} + +// SetDestinationStatus sets the DestinationStatus field's value. +func (s *KinesisDataStreamDestination) SetDestinationStatus(v string) *KinesisDataStreamDestination { + s.DestinationStatus = &v + return s +} + +// SetDestinationStatusDescription sets the DestinationStatusDescription field's value. +func (s *KinesisDataStreamDestination) SetDestinationStatusDescription(v string) *KinesisDataStreamDestination { + s.DestinationStatusDescription = &v + return s +} + +// SetStreamArn sets the StreamArn field's value. +func (s *KinesisDataStreamDestination) SetStreamArn(v string) *KinesisDataStreamDestination { + s.StreamArn = &v + return s +} + // There is no limit to the number of daily on-demand backups that can be taken. // // Up to 50 simultaneous table operations are allowed per account. These operations @@ -14000,6 +15534,60 @@ func (s *LocalSecondaryIndexInfo) SetProjection(v *Projection) *LocalSecondaryIn return s } +// Represents a PartiQL statment that uses parameters. +type ParameterizedStatement struct { + _ struct{} `type:"structure"` + + // The parameter values. + Parameters []*AttributeValue `min:"1" type:"list"` + + // A PartiQL statment that uses parameters. + // + // Statement is a required field + Statement *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ParameterizedStatement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterizedStatement) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParameterizedStatement) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParameterizedStatement"} + if s.Parameters != nil && len(s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + if s.Statement == nil { + invalidParams.Add(request.NewErrParamRequired("Statement")) + } + if s.Statement != nil && len(*s.Statement) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Statement", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParameters sets the Parameters field's value. +func (s *ParameterizedStatement) SetParameters(v []*AttributeValue) *ParameterizedStatement { + s.Parameters = v + return s +} + +// SetStatement sets the Statement field's value. +func (s *ParameterizedStatement) SetStatement(v string) *ParameterizedStatement { + s.Statement = &v + return s +} + // The description of the point in time settings applied to the table. type PointInTimeRecoveryDescription struct { _ struct{} `type:"structure"` @@ -21049,6 +22637,58 @@ func BackupTypeFilter_Values() []string { } } +const ( + // BatchStatementErrorCodeEnumConditionalCheckFailed is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumConditionalCheckFailed = "ConditionalCheckFailed" + + // BatchStatementErrorCodeEnumItemCollectionSizeLimitExceeded is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumItemCollectionSizeLimitExceeded = "ItemCollectionSizeLimitExceeded" + + // BatchStatementErrorCodeEnumRequestLimitExceeded is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumRequestLimitExceeded = "RequestLimitExceeded" + + // BatchStatementErrorCodeEnumValidationError is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumValidationError = "ValidationError" + + // BatchStatementErrorCodeEnumProvisionedThroughputExceeded is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumProvisionedThroughputExceeded = "ProvisionedThroughputExceeded" + + // BatchStatementErrorCodeEnumTransactionConflict is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumTransactionConflict = "TransactionConflict" + + // BatchStatementErrorCodeEnumThrottlingError is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumThrottlingError = "ThrottlingError" + + // BatchStatementErrorCodeEnumInternalServerError is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumInternalServerError = "InternalServerError" + + // BatchStatementErrorCodeEnumResourceNotFound is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumResourceNotFound = "ResourceNotFound" + + // BatchStatementErrorCodeEnumAccessDenied is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumAccessDenied = "AccessDenied" + + // BatchStatementErrorCodeEnumDuplicateItem is a BatchStatementErrorCodeEnum enum value + BatchStatementErrorCodeEnumDuplicateItem = "DuplicateItem" +) + +// BatchStatementErrorCodeEnum_Values returns all elements of the BatchStatementErrorCodeEnum enum +func BatchStatementErrorCodeEnum_Values() []string { + return []string{ + BatchStatementErrorCodeEnumConditionalCheckFailed, + BatchStatementErrorCodeEnumItemCollectionSizeLimitExceeded, + BatchStatementErrorCodeEnumRequestLimitExceeded, + BatchStatementErrorCodeEnumValidationError, + BatchStatementErrorCodeEnumProvisionedThroughputExceeded, + BatchStatementErrorCodeEnumTransactionConflict, + BatchStatementErrorCodeEnumThrottlingError, + BatchStatementErrorCodeEnumInternalServerError, + BatchStatementErrorCodeEnumResourceNotFound, + BatchStatementErrorCodeEnumAccessDenied, + BatchStatementErrorCodeEnumDuplicateItem, + } +} + const ( // BillingModeProvisioned is a BillingMode enum value BillingModeProvisioned = "PROVISIONED" @@ -21201,6 +22841,34 @@ func ContributorInsightsStatus_Values() []string { } } +const ( + // DestinationStatusEnabling is a DestinationStatus enum value + DestinationStatusEnabling = "ENABLING" + + // DestinationStatusActive is a DestinationStatus enum value + DestinationStatusActive = "ACTIVE" + + // DestinationStatusDisabling is a DestinationStatus enum value + DestinationStatusDisabling = "DISABLING" + + // DestinationStatusDisabled is a DestinationStatus enum value + DestinationStatusDisabled = "DISABLED" + + // DestinationStatusEnableFailed is a DestinationStatus enum value + DestinationStatusEnableFailed = "ENABLE_FAILED" +) + +// DestinationStatus_Values returns all elements of the DestinationStatus enum +func DestinationStatus_Values() []string { + return []string{ + DestinationStatusEnabling, + DestinationStatusActive, + DestinationStatusDisabling, + DestinationStatusDisabled, + DestinationStatusEnableFailed, + } +} + const ( // ExportFormatDynamodbJson is a ExportFormat enum value ExportFormatDynamodbJson = "DYNAMODB_JSON" diff --git a/service/dynamodb/dynamodbiface/interface.go b/service/dynamodb/dynamodbiface/interface.go index d92f770ca1..19f596f8e3 100644 --- a/service/dynamodb/dynamodbiface/interface.go +++ b/service/dynamodb/dynamodbiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon DynamoDB. // func myFunc(svc dynamodbiface.DynamoDBAPI) bool { -// // Make svc.BatchGetItem request +// // Make svc.BatchExecuteStatement request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockDynamoDBClient struct { // dynamodbiface.DynamoDBAPI // } -// func (m *mockDynamoDBClient) BatchGetItem(input *dynamodb.BatchGetItemInput) (*dynamodb.BatchGetItemOutput, error) { +// func (m *mockDynamoDBClient) BatchExecuteStatement(input *dynamodb.BatchExecuteStatementInput) (*dynamodb.BatchExecuteStatementOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type DynamoDBAPI interface { + BatchExecuteStatement(*dynamodb.BatchExecuteStatementInput) (*dynamodb.BatchExecuteStatementOutput, error) + BatchExecuteStatementWithContext(aws.Context, *dynamodb.BatchExecuteStatementInput, ...request.Option) (*dynamodb.BatchExecuteStatementOutput, error) + BatchExecuteStatementRequest(*dynamodb.BatchExecuteStatementInput) (*request.Request, *dynamodb.BatchExecuteStatementOutput) + BatchGetItem(*dynamodb.BatchGetItemInput) (*dynamodb.BatchGetItemOutput, error) BatchGetItemWithContext(aws.Context, *dynamodb.BatchGetItemInput, ...request.Option) (*dynamodb.BatchGetItemOutput, error) BatchGetItemRequest(*dynamodb.BatchGetItemInput) (*request.Request, *dynamodb.BatchGetItemOutput) @@ -123,6 +127,10 @@ type DynamoDBAPI interface { DescribeGlobalTableSettingsWithContext(aws.Context, *dynamodb.DescribeGlobalTableSettingsInput, ...request.Option) (*dynamodb.DescribeGlobalTableSettingsOutput, error) DescribeGlobalTableSettingsRequest(*dynamodb.DescribeGlobalTableSettingsInput) (*request.Request, *dynamodb.DescribeGlobalTableSettingsOutput) + DescribeKinesisStreamingDestination(*dynamodb.DescribeKinesisStreamingDestinationInput) (*dynamodb.DescribeKinesisStreamingDestinationOutput, error) + DescribeKinesisStreamingDestinationWithContext(aws.Context, *dynamodb.DescribeKinesisStreamingDestinationInput, ...request.Option) (*dynamodb.DescribeKinesisStreamingDestinationOutput, error) + DescribeKinesisStreamingDestinationRequest(*dynamodb.DescribeKinesisStreamingDestinationInput) (*request.Request, *dynamodb.DescribeKinesisStreamingDestinationOutput) + DescribeLimits(*dynamodb.DescribeLimitsInput) (*dynamodb.DescribeLimitsOutput, error) DescribeLimitsWithContext(aws.Context, *dynamodb.DescribeLimitsInput, ...request.Option) (*dynamodb.DescribeLimitsOutput, error) DescribeLimitsRequest(*dynamodb.DescribeLimitsInput) (*request.Request, *dynamodb.DescribeLimitsOutput) @@ -139,6 +147,22 @@ type DynamoDBAPI interface { DescribeTimeToLiveWithContext(aws.Context, *dynamodb.DescribeTimeToLiveInput, ...request.Option) (*dynamodb.DescribeTimeToLiveOutput, error) DescribeTimeToLiveRequest(*dynamodb.DescribeTimeToLiveInput) (*request.Request, *dynamodb.DescribeTimeToLiveOutput) + DisableKinesisStreamingDestination(*dynamodb.DisableKinesisStreamingDestinationInput) (*dynamodb.DisableKinesisStreamingDestinationOutput, error) + DisableKinesisStreamingDestinationWithContext(aws.Context, *dynamodb.DisableKinesisStreamingDestinationInput, ...request.Option) (*dynamodb.DisableKinesisStreamingDestinationOutput, error) + DisableKinesisStreamingDestinationRequest(*dynamodb.DisableKinesisStreamingDestinationInput) (*request.Request, *dynamodb.DisableKinesisStreamingDestinationOutput) + + EnableKinesisStreamingDestination(*dynamodb.EnableKinesisStreamingDestinationInput) (*dynamodb.EnableKinesisStreamingDestinationOutput, error) + EnableKinesisStreamingDestinationWithContext(aws.Context, *dynamodb.EnableKinesisStreamingDestinationInput, ...request.Option) (*dynamodb.EnableKinesisStreamingDestinationOutput, error) + EnableKinesisStreamingDestinationRequest(*dynamodb.EnableKinesisStreamingDestinationInput) (*request.Request, *dynamodb.EnableKinesisStreamingDestinationOutput) + + ExecuteStatement(*dynamodb.ExecuteStatementInput) (*dynamodb.ExecuteStatementOutput, error) + ExecuteStatementWithContext(aws.Context, *dynamodb.ExecuteStatementInput, ...request.Option) (*dynamodb.ExecuteStatementOutput, error) + ExecuteStatementRequest(*dynamodb.ExecuteStatementInput) (*request.Request, *dynamodb.ExecuteStatementOutput) + + ExecuteTransaction(*dynamodb.ExecuteTransactionInput) (*dynamodb.ExecuteTransactionOutput, error) + ExecuteTransactionWithContext(aws.Context, *dynamodb.ExecuteTransactionInput, ...request.Option) (*dynamodb.ExecuteTransactionOutput, error) + ExecuteTransactionRequest(*dynamodb.ExecuteTransactionInput) (*request.Request, *dynamodb.ExecuteTransactionOutput) + ExportTableToPointInTime(*dynamodb.ExportTableToPointInTimeInput) (*dynamodb.ExportTableToPointInTimeOutput, error) ExportTableToPointInTimeWithContext(aws.Context, *dynamodb.ExportTableToPointInTimeInput, ...request.Option) (*dynamodb.ExportTableToPointInTimeOutput, error) ExportTableToPointInTimeRequest(*dynamodb.ExportTableToPointInTimeInput) (*request.Request, *dynamodb.ExportTableToPointInTimeOutput) diff --git a/service/dynamodb/errors.go b/service/dynamodb/errors.go index 8a9f3485df..517229dee8 100644 --- a/service/dynamodb/errors.go +++ b/service/dynamodb/errors.go @@ -33,6 +33,13 @@ const ( // Backups have not yet been enabled for this table. ErrCodeContinuousBackupsUnavailableException = "ContinuousBackupsUnavailableException" + // ErrCodeDuplicateItemException for service response error code + // "DuplicateItemException". + // + // There was an attempt to insert an item with the same primary key as an item + // that already exists in the DynamoDB table. + ErrCodeDuplicateItemException = "DuplicateItemException" + // ErrCodeExportConflictException for service response error code // "ExportConflictException". // @@ -292,6 +299,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "BackupNotFoundException": newErrorBackupNotFoundException, "ConditionalCheckFailedException": newErrorConditionalCheckFailedException, "ContinuousBackupsUnavailableException": newErrorContinuousBackupsUnavailableException, + "DuplicateItemException": newErrorDuplicateItemException, "ExportConflictException": newErrorExportConflictException, "ExportNotFoundException": newErrorExportNotFoundException, "GlobalTableAlreadyExistsException": newErrorGlobalTableAlreadyExistsException, diff --git a/service/ec2/api.go b/service/ec2/api.go index 3986270247..9499bbd04e 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -98106,6 +98106,30 @@ func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat { return s } +// Information about the Private DNS name for interface endpoints. +type PrivateDnsDetails struct { + _ struct{} `type:"structure"` + + // The private DNS name assigned to the VPC endpoint service. + PrivateDnsName *string `locationName:"privateDnsName" type:"string"` +} + +// String returns the string representation +func (s PrivateDnsDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PrivateDnsDetails) GoString() string { + return s.String() +} + +// SetPrivateDnsName sets the PrivateDnsName field's value. +func (s *PrivateDnsDetails) SetPrivateDnsName(v string) *PrivateDnsDetails { + s.PrivateDnsName = &v + return s +} + // Information about the private DNS name for the service endpoint. For more // information about these parameters, see VPC Endpoint Service Private DNS // Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html) @@ -106963,6 +106987,9 @@ type ServiceDetail struct { // is not verified. PrivateDnsNameVerificationState *string `locationName:"privateDnsNameVerificationState" type:"string" enum:"DnsNameState"` + // The private DNS names assigned to the VPC endpoint service. + PrivateDnsNames []*PrivateDnsDetails `locationName:"privateDnsNameSet" locationNameList:"item" type:"list"` + // The ID of the endpoint service. ServiceId *string `locationName:"serviceId" type:"string"` @@ -107031,6 +107058,12 @@ func (s *ServiceDetail) SetPrivateDnsNameVerificationState(v string) *ServiceDet return s } +// SetPrivateDnsNames sets the PrivateDnsNames field's value. +func (s *ServiceDetail) SetPrivateDnsNames(v []*PrivateDnsDetails) *ServiceDetail { + s.PrivateDnsNames = v + return s +} + // SetServiceId sets the ServiceId field's value. func (s *ServiceDetail) SetServiceId(v string) *ServiceDetail { s.ServiceId = &v diff --git a/service/ecs/api.go b/service/ecs/api.go index 89c5bd9a42..c67971ce24 100644 --- a/service/ecs/api.go +++ b/service/ecs/api.go @@ -4847,6 +4847,94 @@ func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInpu return out, req.Send() } +const opUpdateCapacityProvider = "UpdateCapacityProvider" + +// UpdateCapacityProviderRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCapacityProvider 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 UpdateCapacityProvider for more information on using the UpdateCapacityProvider +// 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 UpdateCapacityProviderRequest method. +// req, resp := client.UpdateCapacityProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProvider +func (c *ECS) UpdateCapacityProviderRequest(input *UpdateCapacityProviderInput) (req *request.Request, output *UpdateCapacityProviderOutput) { + op := &request.Operation{ + Name: opUpdateCapacityProvider, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCapacityProviderInput{} + } + + output = &UpdateCapacityProviderOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCapacityProvider API operation for Amazon EC2 Container Service. +// +// Modifies the parameters for a capacity provider. +// +// 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 EC2 Container Service's +// API operation UpdateCapacityProvider for usage and error information. +// +// Returned Error Types: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProvider +func (c *ECS) UpdateCapacityProvider(input *UpdateCapacityProviderInput) (*UpdateCapacityProviderOutput, error) { + req, out := c.UpdateCapacityProviderRequest(input) + return out, req.Send() +} + +// UpdateCapacityProviderWithContext is the same as UpdateCapacityProvider with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCapacityProvider 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 *ECS) UpdateCapacityProviderWithContext(ctx aws.Context, input *UpdateCapacityProviderInput, opts ...request.Option) (*UpdateCapacityProviderOutput, error) { + req, out := c.UpdateCapacityProviderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateClusterSettings = "UpdateClusterSettings" // UpdateClusterSettingsRequest generates a "aws/request.Request" representing the @@ -6008,6 +6096,79 @@ func (s *AutoScalingGroupProvider) SetManagedTerminationProtection(v string) *Au return s } +// The details of the Auto Scaling group capacity provider to update. +type AutoScalingGroupProviderUpdate struct { + _ struct{} `type:"structure"` + + // The managed scaling settings for the Auto Scaling group capacity provider. + // + // When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out + // actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling + // policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity + // value as the target value for the metric. For more information, see Using + // Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) + // in the Amazon Elastic Container Service Developer Guide. + // + // If managed scaling is disabled, the user must manage the scaling of the Auto + // Scaling group. + ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` + + // The managed termination protection setting to use for the Auto Scaling group + // capacity provider. This determines whether the Auto Scaling group has managed + // termination protection. + // + // When using managed termination protection, managed scaling must also be used + // otherwise managed termination protection will not work. + // + // When managed termination protection is enabled, Amazon ECS prevents the Amazon + // EC2 instances in an Auto Scaling group that contain tasks from being terminated + // during a scale-in action. The Auto Scaling group and each instance in the + // Auto Scaling group must have instance protection from scale-in actions enabled + // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) + // in the AWS Auto Scaling User Guide. + // + // When managed termination protection is disabled, your Amazon EC2 instances + // are not protected from termination when the Auto Scaling group scales in. + ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` +} + +// String returns the string representation +func (s AutoScalingGroupProviderUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutoScalingGroupProviderUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AutoScalingGroupProviderUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProviderUpdate"} + if s.ManagedScaling != nil { + if err := s.ManagedScaling.Validate(); err != nil { + invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetManagedScaling sets the ManagedScaling field's value. +func (s *AutoScalingGroupProviderUpdate) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProviderUpdate { + s.ManagedScaling = v + return s +} + +// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. +func (s *AutoScalingGroupProviderUpdate) SetManagedTerminationProtection(v string) *AutoScalingGroupProviderUpdate { + s.ManagedTerminationProtection = &v + return s +} + // An object representing the networking details for a task or service. type AwsVpcConfiguration struct { _ struct{} `type:"structure"` @@ -7591,13 +7752,17 @@ type ContainerDefinition struct { // the awsvpc network mode. Ulimits []*Ulimit `locationName:"ulimits" type:"list"` - // The user name to use inside the container. This parameter maps to User in - // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) + // The user to use inside the container. This parameter maps to User in the + // Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) // and the --user option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). // - // You can use the following formats. If specifying a UID or GID, you must specify - // it as a positive integer. + // When running tasks using the host network mode, you should not run containers + // using the root user (UID 0). It is considered best practice to use a non-root + // user. + // + // You can specify the user using the following formats. If specifying a UID + // or GID, you must specify it as a positive integer. // // * user // @@ -9093,6 +9258,11 @@ func (s *CreateServiceInput) Validate() error { } } } + if s.DeploymentConfiguration != nil { + if err := s.DeploymentConfiguration.Validate(); err != nil { + invalidParams.AddNested("DeploymentConfiguration", err.(request.ErrInvalidParams)) + } + } if s.DeploymentController != nil { if err := s.DeploymentController.Validate(); err != nil { invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) @@ -10035,6 +10205,15 @@ type Deployment struct { // to deploy or maintain. DesiredCount *int64 `locationName:"desiredCount" type:"integer"` + // The number of consecutively failed tasks in the deployment. A task is considered + // a failure if the service scheduler can't launch the task, the task doesn't + // transition to a RUNNING state, or if it fails any of its defined health checks + // and is stopped. + // + // Once a service deployment has one or more successfully running tasks, the + // failed task count resets to zero and stops being evaluated. + FailedTasks *int64 `locationName:"failedTasks" type:"integer"` + // The ID of the deployment. Id *string `locationName:"id" type:"string"` @@ -10057,6 +10236,21 @@ type Deployment struct { // in the Amazon Elastic Container Service Developer Guide. PlatformVersion *string `locationName:"platformVersion" type:"string"` + // + // The rolloutState of a service is only returned for services that use the + // rolling update (ECS) deployment type that are not behind a Classic Load Balancer. + // + // The rollout state of the deployment. When a service deployment is started, + // it begins in an IN_PROGRESS state. When the service reaches a steady state, + // the deployment will transition to a COMPLETED state. If the service fails + // to reach a steady state and circuit breaker is enabled, the deployment will + // transition to a FAILED state. A deployment in FAILED state will launch no + // new tasks. For more information, see DeploymentCircuitBreaker. + RolloutState *string `locationName:"rolloutState" type:"string" enum:"DeploymentRolloutState"` + + // A description of the rollout state of a deployment. + RolloutStateReason *string `locationName:"rolloutStateReason" type:"string"` + // The number of tasks in the deployment that are in the RUNNING status. RunningCount *int64 `locationName:"runningCount" type:"integer"` @@ -10112,6 +10306,12 @@ func (s *Deployment) SetDesiredCount(v int64) *Deployment { return s } +// SetFailedTasks sets the FailedTasks field's value. +func (s *Deployment) SetFailedTasks(v int64) *Deployment { + s.FailedTasks = &v + return s +} + // SetId sets the Id field's value. func (s *Deployment) SetId(v string) *Deployment { s.Id = &v @@ -10142,6 +10342,18 @@ func (s *Deployment) SetPlatformVersion(v string) *Deployment { return s } +// SetRolloutState sets the RolloutState field's value. +func (s *Deployment) SetRolloutState(v string) *Deployment { + s.RolloutState = &v + return s +} + +// SetRolloutStateReason sets the RolloutStateReason field's value. +func (s *Deployment) SetRolloutStateReason(v string) *Deployment { + s.RolloutStateReason = &v + return s +} + // SetRunningCount sets the RunningCount field's value. func (s *Deployment) SetRunningCount(v int64) *Deployment { s.RunningCount = &v @@ -10166,11 +10378,86 @@ func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { return s } +// +// The deployment circuit breaker can only be used for services using the rolling +// update (ECS) deployment type that are not behind a Classic Load Balancer. +// +// The deployment circuit breaker determines whether a service deployment will +// fail if the service can't reach a steady state. If enabled, a service deployment +// will transition to a failed state and stop launching new tasks. You can also +// enable Amazon ECS to roll back your service to the last completed deployment +// after a failure. For more information, see Rolling update (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) +// in the Amazon Elastic Container Service Developer Guide. +type DeploymentCircuitBreaker struct { + _ struct{} `type:"structure"` + + // Whether to enable the deployment circuit breaker logic for the service. + // + // Enable is a required field + Enable *bool `locationName:"enable" type:"boolean" required:"true"` + + // Whether to enable Amazon ECS to roll back the service if a service deployment + // fails. If rollback is enabled, when a service deployment fails, the service + // is rolled back to the last deployment that completed successfully. + // + // Rollback is a required field + Rollback *bool `locationName:"rollback" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s DeploymentCircuitBreaker) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeploymentCircuitBreaker) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeploymentCircuitBreaker) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeploymentCircuitBreaker"} + if s.Enable == nil { + invalidParams.Add(request.NewErrParamRequired("Enable")) + } + if s.Rollback == nil { + invalidParams.Add(request.NewErrParamRequired("Rollback")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnable sets the Enable field's value. +func (s *DeploymentCircuitBreaker) SetEnable(v bool) *DeploymentCircuitBreaker { + s.Enable = &v + return s +} + +// SetRollback sets the Rollback field's value. +func (s *DeploymentCircuitBreaker) SetRollback(v bool) *DeploymentCircuitBreaker { + s.Rollback = &v + return s +} + // Optional deployment parameters that control how many tasks run during a deployment // and the ordering of stopping and starting tasks. type DeploymentConfiguration struct { _ struct{} `type:"structure"` + // + // The deployment circuit breaker can only be used for services using the rolling + // update (ECS) deployment type. + // + // The deployment circuit breaker determines whether a service deployment will + // fail if the service can't reach a steady state. If deployment circuit breaker + // is enabled, a service deployment will transition to a failed state and stop + // launching new tasks. If rollback is enabled, when a service deployment fails, + // the service is rolled back to the last deployment that completed successfully. + DeploymentCircuitBreaker *DeploymentCircuitBreaker `locationName:"deploymentCircuitBreaker" type:"structure"` + // If a service is using the rolling update (ECS) deployment type, the maximum // percent parameter represents an upper limit on the number of tasks in a service // that are allowed in the RUNNING or PENDING state during a deployment, as @@ -10227,6 +10514,27 @@ func (s DeploymentConfiguration) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeploymentConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeploymentConfiguration"} + if s.DeploymentCircuitBreaker != nil { + if err := s.DeploymentCircuitBreaker.Validate(); err != nil { + invalidParams.AddNested("DeploymentCircuitBreaker", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeploymentCircuitBreaker sets the DeploymentCircuitBreaker field's value. +func (s *DeploymentConfiguration) SetDeploymentCircuitBreaker(v *DeploymentCircuitBreaker) *DeploymentConfiguration { + s.DeploymentCircuitBreaker = v + return s +} + // SetMaximumPercent sets the MaximumPercent field's value. func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { s.MaximumPercent = &v @@ -11584,27 +11892,16 @@ func (s *EnvironmentFile) SetValue(v string) *EnvironmentFile { type FSxWindowsFileServerAuthorizationConfig struct { _ struct{} `type:"structure"` - // The authorization credential option to use. - // - // The authorization credential options can be provided using either the AWS - // Secrets Manager ARN or the AWS Systems Manager ARN. The ARNs refer to the - // stored credentials. - // - // options: - // - // * ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of an AWS Secrets Manager (https://docs.aws.amazon.com/secretsmanager) - // secret. - // - // * ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // of an AWS Systems Manager (https://docs.aws.amazon.com/systems-manager/latest/userguide/integration-ps-secretsmanager.html) - // parameter. + // The authorization credential option to use. The authorization credential + // options can be provided using either the Amazon Resource Name (ARN) of an + // AWS Secrets Manager secret or AWS Systems Manager Parameter Store parameter. + // The ARNs refer to the stored credentials. // // CredentialsParameter is a required field CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` // A fully qualified domain name hosted by an AWS Directory Service (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) - // Managed Microsoft AD (Active Directory) or self-hosted EC2 AD. + // Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. // // Domain is a required field Domain *string `locationName:"domain" type:"string" required:"true"` @@ -13751,23 +14048,19 @@ func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { type ManagedScaling struct { _ struct{} `type:"structure"` - // The maximum number of Amazon EC2 instances that Amazon ECS will scale out - // at one time. The scale in process is not affected by this parameter. If this - // parameter is omitted, the default value of 10000 is used. + // The period of time, in seconds, after a newly launched Amazon EC2 instance + // can contribute to CloudWatch metrics for Auto Scaling group. If this parameter + // is omitted, the default value of 300 seconds is used. + InstanceWarmupPeriod *int64 `locationName:"instanceWarmupPeriod" type:"integer"` + + // The maximum number of container instances that Amazon ECS will scale in or + // scale out at one time. If this parameter is omitted, the default value of + // 10000 is used. MaximumScalingStepSize *int64 `locationName:"maximumScalingStepSize" min:"1" type:"integer"` - // The minimum number of Amazon EC2 instances that Amazon ECS will scale out - // at one time. The scale in process is not affected by this parameter If this - // parameter is omitted, the default value of 1 is used. - // - // When additional capacity is required, Amazon ECS will scale up the minimum - // scaling step size even if the actual demand is less than the minimum scaling - // step size. - // - // If you use a capacity provider with an Auto Scaling group configured with - // more than one Amazon EC2 instance type or Availability Zone, Amazon ECS will - // scale up by the exact minimum scaling step size value and will ignore both - // the maximum scaling step size as well as the capacity demand. + // The minimum number of container instances that Amazon ECS will scale in or + // scale out at one time. If this parameter is omitted, the default value of + // 1 is used. MinimumScalingStepSize *int64 `locationName:"minimumScalingStepSize" min:"1" type:"integer"` // Whether or not to enable managed scaling for the capacity provider. @@ -13809,6 +14102,12 @@ func (s *ManagedScaling) Validate() error { return nil } +// SetInstanceWarmupPeriod sets the InstanceWarmupPeriod field's value. +func (s *ManagedScaling) SetInstanceWarmupPeriod(v int64) *ManagedScaling { + s.InstanceWarmupPeriod = &v + return s +} + // SetMaximumScalingStepSize sets the MaximumScalingStepSize field's value. func (s *ManagedScaling) SetMaximumScalingStepSize(v int64) *ManagedScaling { s.MaximumScalingStepSize = &v @@ -14491,10 +14790,6 @@ func (s *PortMapping) SetProtocol(v string) *PortMapping { // are launched from the Amazon ECS-optimized AMI version 20190301 or later, // then they contain the required versions of the container agent and ecs-init. // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) -// in the Amazon Elastic Container Service Developer Guide. -// -// For tasks using the Fargate launch type, the task or service requires platform -// version 1.3.0 or later. type ProxyConfiguration struct { _ struct{} `type:"structure"` @@ -15283,20 +15578,25 @@ type RegisterTaskDefinitionInput struct { Memory *string `locationName:"memory" type:"string"` // The Docker networking mode to use for the containers in the task. The valid - // values are none, bridge, awsvpc, and host. The default Docker network mode - // is bridge. If you are using the Fargate launch type, the awsvpc network mode - // is required. If you are using the EC2 launch type, any network mode can be - // used. If the network mode is set to none, you cannot specify port mappings - // in your container definitions, and the tasks containers do not have external - // connectivity. The host and awsvpc network modes offer the highest networking - // performance for containers because they use the EC2 network stack instead - // of the virtualized network stack provided by the bridge mode. + // values are none, bridge, awsvpc, and host. If no network mode is specified, + // the default is bridge. + // + // For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For + // Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If + // the network mode is set to none, you cannot specify port mappings in your + // container definitions, and the tasks containers do not have external connectivity. + // The host and awsvpc network modes offer the highest networking performance + // for containers because they use the EC2 network stack instead of the virtualized + // network stack provided by the bridge mode. // // With the host and awsvpc network modes, exposed container ports are mapped // directly to the corresponding host port (for the host network mode) or the // attached elastic network interface port (for the awsvpc network mode), so // you cannot take advantage of dynamic host port mappings. // + // When using the host network mode, you should not run containers using the + // root user (UID 0). It is considered best practice to use a non-root user. + // // If the network mode is awsvpc, the task is allocated an elastic network interface, // and you must specify a NetworkConfiguration value when you create a service // or run a task with the task definition. For more information, see Task Networking @@ -15349,10 +15649,6 @@ type RegisterTaskDefinitionInput struct { // are launched from the Amazon ECS-optimized AMI version 20190301 or later, // then they contain the required versions of the container agent and ecs-init. // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) - // in the Amazon Elastic Container Service Developer Guide. - // - // For tasks using the Fargate launch type, the task or service requires platform - // version 1.3.0 or later. ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` // The task launch type that Amazon ECS should validate the task definition @@ -18468,20 +18764,25 @@ type TaskDefinition struct { Memory *string `locationName:"memory" type:"string"` // The Docker networking mode to use for the containers in the task. The valid - // values are none, bridge, awsvpc, and host. The default Docker network mode - // is bridge. If you are using the Fargate launch type, the awsvpc network mode - // is required. If you are using the EC2 launch type, any network mode can be - // used. If the network mode is set to none, you cannot specify port mappings - // in your container definitions, and the tasks containers do not have external - // connectivity. The host and awsvpc network modes offer the highest networking - // performance for containers because they use the EC2 network stack instead - // of the virtualized network stack provided by the bridge mode. + // values are none, bridge, awsvpc, and host. If no network mode is specified, + // the default is bridge. + // + // For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For + // Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If + // the network mode is set to none, you cannot specify port mappings in your + // container definitions, and the tasks containers do not have external connectivity. + // The host and awsvpc network modes offer the highest networking performance + // for containers because they use the EC2 network stack instead of the virtualized + // network stack provided by the bridge mode. // // With the host and awsvpc network modes, exposed container ports are mapped // directly to the corresponding host port (for the host network mode) or the // attached elastic network interface port (for the awsvpc network mode), so // you cannot take advantage of dynamic host port mappings. // + // When using the host network mode, you should not run containers using the + // root user (UID 0). It is considered best practice to use a non-root user. + // // If the network mode is awsvpc, the task is allocated an elastic network interface, // and you must specify a NetworkConfiguration value when you create a service // or run a task with the task definition. For more information, see Task Networking @@ -19459,6 +19760,87 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateCapacityProviderInput struct { + _ struct{} `type:"structure"` + + // The name of the capacity provider to update. + // + // AutoScalingGroupProvider is a required field + AutoScalingGroupProvider *AutoScalingGroupProviderUpdate `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` + + // An object representing the parameters to update for the Auto Scaling group + // capacity provider. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateCapacityProviderInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCapacityProviderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCapacityProviderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCapacityProviderInput"} + if s.AutoScalingGroupProvider == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.AutoScalingGroupProvider != nil { + if err := s.AutoScalingGroupProvider.Validate(); err != nil { + invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. +func (s *UpdateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProviderUpdate) *UpdateCapacityProviderInput { + s.AutoScalingGroupProvider = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateCapacityProviderInput) SetName(v string) *UpdateCapacityProviderInput { + s.Name = &v + return s +} + +type UpdateCapacityProviderOutput struct { + _ struct{} `type:"structure"` + + // The details of a capacity provider. + CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` +} + +// String returns the string representation +func (s UpdateCapacityProviderOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCapacityProviderOutput) GoString() string { + return s.String() +} + +// SetCapacityProvider sets the CapacityProvider field's value. +func (s *UpdateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *UpdateCapacityProviderOutput { + s.CapacityProvider = v + return s +} + type UpdateClusterSettingsInput struct { _ struct{} `type:"structure"` @@ -19902,6 +20284,11 @@ func (s *UpdateServiceInput) Validate() error { } } } + if s.DeploymentConfiguration != nil { + if err := s.DeploymentConfiguration.Validate(); err != nil { + invalidParams.AddNested("DeploymentConfiguration", err.(request.ErrInvalidParams)) + } + } if s.NetworkConfiguration != nil { if err := s.NetworkConfiguration.Validate(); err != nil { invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) @@ -20481,6 +20868,15 @@ const ( // CapacityProviderUpdateStatusDeleteFailed is a CapacityProviderUpdateStatus enum value CapacityProviderUpdateStatusDeleteFailed = "DELETE_FAILED" + + // CapacityProviderUpdateStatusUpdateInProgress is a CapacityProviderUpdateStatus enum value + CapacityProviderUpdateStatusUpdateInProgress = "UPDATE_IN_PROGRESS" + + // CapacityProviderUpdateStatusUpdateComplete is a CapacityProviderUpdateStatus enum value + CapacityProviderUpdateStatusUpdateComplete = "UPDATE_COMPLETE" + + // CapacityProviderUpdateStatusUpdateFailed is a CapacityProviderUpdateStatus enum value + CapacityProviderUpdateStatusUpdateFailed = "UPDATE_FAILED" ) // CapacityProviderUpdateStatus_Values returns all elements of the CapacityProviderUpdateStatus enum @@ -20489,6 +20885,9 @@ func CapacityProviderUpdateStatus_Values() []string { CapacityProviderUpdateStatusDeleteInProgress, CapacityProviderUpdateStatusDeleteComplete, CapacityProviderUpdateStatusDeleteFailed, + CapacityProviderUpdateStatusUpdateInProgress, + CapacityProviderUpdateStatusUpdateComplete, + CapacityProviderUpdateStatusUpdateFailed, } } @@ -20644,6 +21043,26 @@ func DeploymentControllerType_Values() []string { } } +const ( + // DeploymentRolloutStateCompleted is a DeploymentRolloutState enum value + DeploymentRolloutStateCompleted = "COMPLETED" + + // DeploymentRolloutStateFailed is a DeploymentRolloutState enum value + DeploymentRolloutStateFailed = "FAILED" + + // DeploymentRolloutStateInProgress is a DeploymentRolloutState enum value + DeploymentRolloutStateInProgress = "IN_PROGRESS" +) + +// DeploymentRolloutState_Values returns all elements of the DeploymentRolloutState enum +func DeploymentRolloutState_Values() []string { + return []string{ + DeploymentRolloutStateCompleted, + DeploymentRolloutStateFailed, + DeploymentRolloutStateInProgress, + } +} + const ( // DesiredStatusRunning is a DesiredStatus enum value DesiredStatusRunning = "RUNNING" diff --git a/service/ecs/ecsiface/interface.go b/service/ecs/ecsiface/interface.go index deeb5b70a8..d0371fd17f 100644 --- a/service/ecs/ecsiface/interface.go +++ b/service/ecs/ecsiface/interface.go @@ -256,6 +256,10 @@ type ECSAPI interface { UntagResourceWithContext(aws.Context, *ecs.UntagResourceInput, ...request.Option) (*ecs.UntagResourceOutput, error) UntagResourceRequest(*ecs.UntagResourceInput) (*request.Request, *ecs.UntagResourceOutput) + UpdateCapacityProvider(*ecs.UpdateCapacityProviderInput) (*ecs.UpdateCapacityProviderOutput, error) + UpdateCapacityProviderWithContext(aws.Context, *ecs.UpdateCapacityProviderInput, ...request.Option) (*ecs.UpdateCapacityProviderOutput, error) + UpdateCapacityProviderRequest(*ecs.UpdateCapacityProviderInput) (*request.Request, *ecs.UpdateCapacityProviderOutput) + UpdateClusterSettings(*ecs.UpdateClusterSettingsInput) (*ecs.UpdateClusterSettingsOutput, error) UpdateClusterSettingsWithContext(aws.Context, *ecs.UpdateClusterSettingsInput, ...request.Option) (*ecs.UpdateClusterSettingsOutput, error) UpdateClusterSettingsRequest(*ecs.UpdateClusterSettingsInput) (*request.Request, *ecs.UpdateClusterSettingsOutput) diff --git a/service/elasticache/api.go b/service/elasticache/api.go index 4351fe0428..218a6327b6 100644 --- a/service/elasticache/api.go +++ b/service/elasticache/api.go @@ -13193,6 +13193,7 @@ type DescribeReservedCacheNodesOfferingsInput struct { // offerings matching the specified offering type. // // Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" + // |"All Upfront"|"Partial Upfront"| "No Upfront" OfferingType *string `type:"string"` // The product description filter value. Use this parameter to show only the diff --git a/service/emr/api.go b/service/emr/api.go index 89ce40a41b..c6cac9f472 100644 --- a/service/emr/api.go +++ b/service/emr/api.go @@ -412,8 +412,8 @@ func (c *EMR) CancelStepsRequest(input *CancelStepsInput) (req *request.Request, // Cancels a pending step or steps in a running cluster. Available only in Amazon // EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps // are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; -// it does not guarantee a step will be canceled, even if the request is successfully -// submitted. You can only cancel steps that are in a PENDING state. +// it does not guarantee that a step will be canceled, even if the request is +// successfully submitted. You can only cancel steps that are in a PENDING 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 @@ -535,59 +535,62 @@ func (c *EMR) CreateSecurityConfigurationWithContext(ctx aws.Context, input *Cre return out, req.Send() } -const opDeleteSecurityConfiguration = "DeleteSecurityConfiguration" +const opCreateStudio = "CreateStudio" -// DeleteSecurityConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the DeleteSecurityConfiguration operation. The "output" return +// CreateStudioRequest generates a "aws/request.Request" representing the +// client's request for the CreateStudio 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 DeleteSecurityConfiguration for more information on using the DeleteSecurityConfiguration +// See CreateStudio for more information on using the CreateStudio // 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 DeleteSecurityConfigurationRequest method. -// req, resp := client.DeleteSecurityConfigurationRequest(params) +// // Example sending a request using the CreateStudioRequest method. +// req, resp := client.CreateStudioRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration -func (c *EMR) DeleteSecurityConfigurationRequest(input *DeleteSecurityConfigurationInput) (req *request.Request, output *DeleteSecurityConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudio +func (c *EMR) CreateStudioRequest(input *CreateStudioInput) (req *request.Request, output *CreateStudioOutput) { op := &request.Operation{ - Name: opDeleteSecurityConfiguration, + Name: opCreateStudio, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteSecurityConfigurationInput{} + input = &CreateStudioInput{} } - output = &DeleteSecurityConfigurationOutput{} + output = &CreateStudioOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteSecurityConfiguration API operation for Amazon Elastic MapReduce. +// CreateStudio API operation for Amazon Elastic MapReduce. // -// Deletes a security configuration. +// +// The Amazon EMR Studio APIs are in preview release for Amazon EMR and are +// subject to change. +// +// Creates a new Amazon EMR Studio. // // 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 Elastic MapReduce's -// API operation DeleteSecurityConfiguration for usage and error information. +// API operation CreateStudio for usage and error information. // // Returned Error Types: // * InternalServerException @@ -596,437 +599,428 @@ func (c *EMR) DeleteSecurityConfigurationRequest(input *DeleteSecurityConfigurat // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration -func (c *EMR) DeleteSecurityConfiguration(input *DeleteSecurityConfigurationInput) (*DeleteSecurityConfigurationOutput, error) { - req, out := c.DeleteSecurityConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudio +func (c *EMR) CreateStudio(input *CreateStudioInput) (*CreateStudioOutput, error) { + req, out := c.CreateStudioRequest(input) return out, req.Send() } -// DeleteSecurityConfigurationWithContext is the same as DeleteSecurityConfiguration with the addition of +// CreateStudioWithContext is the same as CreateStudio with the addition of // the ability to pass a context and additional request options. // -// See DeleteSecurityConfiguration for details on how to use this API operation. +// See CreateStudio 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 *EMR) DeleteSecurityConfigurationWithContext(ctx aws.Context, input *DeleteSecurityConfigurationInput, opts ...request.Option) (*DeleteSecurityConfigurationOutput, error) { - req, out := c.DeleteSecurityConfigurationRequest(input) +func (c *EMR) CreateStudioWithContext(ctx aws.Context, input *CreateStudioInput, opts ...request.Option) (*CreateStudioOutput, error) { + req, out := c.CreateStudioRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeCluster = "DescribeCluster" +const opCreateStudioSessionMapping = "CreateStudioSessionMapping" -// DescribeClusterRequest generates a "aws/request.Request" representing the -// client's request for the DescribeCluster operation. The "output" return +// CreateStudioSessionMappingRequest generates a "aws/request.Request" representing the +// client's request for the CreateStudioSessionMapping 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 DescribeCluster for more information on using the DescribeCluster +// See CreateStudioSessionMapping for more information on using the CreateStudioSessionMapping // 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 DescribeClusterRequest method. -// req, resp := client.DescribeClusterRequest(params) +// // Example sending a request using the CreateStudioSessionMappingRequest method. +// req, resp := client.CreateStudioSessionMappingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster -func (c *EMR) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioSessionMapping +func (c *EMR) CreateStudioSessionMappingRequest(input *CreateStudioSessionMappingInput) (req *request.Request, output *CreateStudioSessionMappingOutput) { op := &request.Operation{ - Name: opDescribeCluster, + Name: opCreateStudioSessionMapping, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeClusterInput{} + input = &CreateStudioSessionMappingInput{} } - output = &DescribeClusterOutput{} + output = &CreateStudioSessionMappingOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeCluster API operation for Amazon Elastic MapReduce. +// CreateStudioSessionMapping API operation for Amazon Elastic MapReduce. // -// Provides cluster-level details including status, hardware and software configuration, -// VPC settings, and so on. +// +// The Amazon EMR Studio APIs are in preview release for Amazon EMR and are +// subject to change. +// +// Maps a user or group to the Amazon EMR Studio specified by StudioId, and +// applies a session policy to refine Studio permissions for that user or group. // // 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 Elastic MapReduce's -// API operation DescribeCluster for usage and error information. +// API operation CreateStudioSessionMapping for usage and error information. // // Returned Error Types: -// * InternalServerException -// This exception occurs when there is an internal failure in the EMR service. +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. // // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster -func (c *EMR) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { - req, out := c.DescribeClusterRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioSessionMapping +func (c *EMR) CreateStudioSessionMapping(input *CreateStudioSessionMappingInput) (*CreateStudioSessionMappingOutput, error) { + req, out := c.CreateStudioSessionMappingRequest(input) return out, req.Send() } -// DescribeClusterWithContext is the same as DescribeCluster with the addition of +// CreateStudioSessionMappingWithContext is the same as CreateStudioSessionMapping with the addition of // the ability to pass a context and additional request options. // -// See DescribeCluster for details on how to use this API operation. +// See CreateStudioSessionMapping 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 *EMR) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) { - req, out := c.DescribeClusterRequest(input) +func (c *EMR) CreateStudioSessionMappingWithContext(ctx aws.Context, input *CreateStudioSessionMappingInput, opts ...request.Option) (*CreateStudioSessionMappingOutput, error) { + req, out := c.CreateStudioSessionMappingRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeJobFlows = "DescribeJobFlows" +const opDeleteSecurityConfiguration = "DeleteSecurityConfiguration" -// DescribeJobFlowsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeJobFlows operation. The "output" return +// DeleteSecurityConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSecurityConfiguration 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 DescribeJobFlows for more information on using the DescribeJobFlows +// See DeleteSecurityConfiguration for more information on using the DeleteSecurityConfiguration // 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 DescribeJobFlowsRequest method. -// req, resp := client.DescribeJobFlowsRequest(params) +// // Example sending a request using the DeleteSecurityConfigurationRequest method. +// req, resp := client.DeleteSecurityConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows -// -// Deprecated: DescribeJobFlows has been deprecated -func (c *EMR) DescribeJobFlowsRequest(input *DescribeJobFlowsInput) (req *request.Request, output *DescribeJobFlowsOutput) { - if c.Client.Config.Logger != nil { - c.Client.Config.Logger.Log("This operation, DescribeJobFlows, has been deprecated") - } +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration +func (c *EMR) DeleteSecurityConfigurationRequest(input *DeleteSecurityConfigurationInput) (req *request.Request, output *DeleteSecurityConfigurationOutput) { op := &request.Operation{ - Name: opDescribeJobFlows, + Name: opDeleteSecurityConfiguration, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeJobFlowsInput{} + input = &DeleteSecurityConfigurationInput{} } - output = &DescribeJobFlowsOutput{} + output = &DeleteSecurityConfigurationOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeJobFlows API operation for Amazon Elastic MapReduce. -// -// This API is deprecated and will eventually be removed. We recommend you use -// ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions -// instead. -// -// DescribeJobFlows returns a list of job flows that match all of the supplied -// parameters. The parameters can include a list of job flow IDs, job flow states, -// and restrictions on job flow creation date and time. -// -// Regardless of supplied parameters, only job flows created within the last -// two months are returned. -// -// If no parameters are supplied, then job flows matching either of the following -// criteria are returned: -// -// * Job flows created and completed in the last two weeks -// -// * Job flows created within the last two months that are in one of the -// following states: RUNNING, WAITING, SHUTTING_DOWN, STARTING +// DeleteSecurityConfiguration API operation for Amazon Elastic MapReduce. // -// Amazon EMR can return a maximum of 512 job flow descriptions. +// Deletes a security configuration. // // 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 Elastic MapReduce's -// API operation DescribeJobFlows for usage and error information. +// API operation DeleteSecurityConfiguration for usage and error information. // // Returned Error Types: -// * InternalServerError -// Indicates that an error occurred while processing the request and that the -// request was not completed. +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. // -// Deprecated: DescribeJobFlows has been deprecated -func (c *EMR) DescribeJobFlows(input *DescribeJobFlowsInput) (*DescribeJobFlowsOutput, error) { - req, out := c.DescribeJobFlowsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration +func (c *EMR) DeleteSecurityConfiguration(input *DeleteSecurityConfigurationInput) (*DeleteSecurityConfigurationOutput, error) { + req, out := c.DeleteSecurityConfigurationRequest(input) return out, req.Send() } -// DescribeJobFlowsWithContext is the same as DescribeJobFlows with the addition of +// DeleteSecurityConfigurationWithContext is the same as DeleteSecurityConfiguration with the addition of // the ability to pass a context and additional request options. // -// See DescribeJobFlows for details on how to use this API operation. +// See DeleteSecurityConfiguration 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. -// -// Deprecated: DescribeJobFlowsWithContext has been deprecated -func (c *EMR) DescribeJobFlowsWithContext(ctx aws.Context, input *DescribeJobFlowsInput, opts ...request.Option) (*DescribeJobFlowsOutput, error) { - req, out := c.DescribeJobFlowsRequest(input) +func (c *EMR) DeleteSecurityConfigurationWithContext(ctx aws.Context, input *DeleteSecurityConfigurationInput, opts ...request.Option) (*DeleteSecurityConfigurationOutput, error) { + req, out := c.DeleteSecurityConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeNotebookExecution = "DescribeNotebookExecution" +const opDeleteStudio = "DeleteStudio" -// DescribeNotebookExecutionRequest generates a "aws/request.Request" representing the -// client's request for the DescribeNotebookExecution operation. The "output" return +// DeleteStudioRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStudio 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 DescribeNotebookExecution for more information on using the DescribeNotebookExecution +// See DeleteStudio for more information on using the DeleteStudio // 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 DescribeNotebookExecutionRequest method. -// req, resp := client.DescribeNotebookExecutionRequest(params) +// // Example sending a request using the DeleteStudioRequest method. +// req, resp := client.DeleteStudioRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution -func (c *EMR) DescribeNotebookExecutionRequest(input *DescribeNotebookExecutionInput) (req *request.Request, output *DescribeNotebookExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudio +func (c *EMR) DeleteStudioRequest(input *DeleteStudioInput) (req *request.Request, output *DeleteStudioOutput) { op := &request.Operation{ - Name: opDescribeNotebookExecution, + Name: opDeleteStudio, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeNotebookExecutionInput{} + input = &DeleteStudioInput{} } - output = &DescribeNotebookExecutionOutput{} + output = &DeleteStudioOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeNotebookExecution API operation for Amazon Elastic MapReduce. +// DeleteStudio API operation for Amazon Elastic MapReduce. // -// Provides details of a notebook execution. +// +// The Amazon EMR Studio APIs are in preview release for Amazon EMR and are +// subject to change. +// +// Removes an Amazon EMR Studio from the Studio metadata store. // // 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 Elastic MapReduce's -// API operation DescribeNotebookExecution for usage and error information. +// API operation DeleteStudio for usage and error information. // // Returned Error Types: -// * InternalServerError -// Indicates that an error occurred while processing the request and that the -// request was not completed. +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. // // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution -func (c *EMR) DescribeNotebookExecution(input *DescribeNotebookExecutionInput) (*DescribeNotebookExecutionOutput, error) { - req, out := c.DescribeNotebookExecutionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudio +func (c *EMR) DeleteStudio(input *DeleteStudioInput) (*DeleteStudioOutput, error) { + req, out := c.DeleteStudioRequest(input) return out, req.Send() } -// DescribeNotebookExecutionWithContext is the same as DescribeNotebookExecution with the addition of +// DeleteStudioWithContext is the same as DeleteStudio with the addition of // the ability to pass a context and additional request options. // -// See DescribeNotebookExecution for details on how to use this API operation. +// See DeleteStudio 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 *EMR) DescribeNotebookExecutionWithContext(ctx aws.Context, input *DescribeNotebookExecutionInput, opts ...request.Option) (*DescribeNotebookExecutionOutput, error) { - req, out := c.DescribeNotebookExecutionRequest(input) +func (c *EMR) DeleteStudioWithContext(ctx aws.Context, input *DeleteStudioInput, opts ...request.Option) (*DeleteStudioOutput, error) { + req, out := c.DeleteStudioRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeSecurityConfiguration = "DescribeSecurityConfiguration" +const opDeleteStudioSessionMapping = "DeleteStudioSessionMapping" -// DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSecurityConfiguration operation. The "output" return +// DeleteStudioSessionMappingRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStudioSessionMapping 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 DescribeSecurityConfiguration for more information on using the DescribeSecurityConfiguration +// See DeleteStudioSessionMapping for more information on using the DeleteStudioSessionMapping // 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 DescribeSecurityConfigurationRequest method. -// req, resp := client.DescribeSecurityConfigurationRequest(params) +// // Example sending a request using the DeleteStudioSessionMappingRequest method. +// req, resp := client.DeleteStudioSessionMappingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration -func (c *EMR) DescribeSecurityConfigurationRequest(input *DescribeSecurityConfigurationInput) (req *request.Request, output *DescribeSecurityConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioSessionMapping +func (c *EMR) DeleteStudioSessionMappingRequest(input *DeleteStudioSessionMappingInput) (req *request.Request, output *DeleteStudioSessionMappingOutput) { op := &request.Operation{ - Name: opDescribeSecurityConfiguration, + Name: opDeleteStudioSessionMapping, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeSecurityConfigurationInput{} + input = &DeleteStudioSessionMappingInput{} } - output = &DescribeSecurityConfigurationOutput{} + output = &DeleteStudioSessionMappingOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeSecurityConfiguration API operation for Amazon Elastic MapReduce. +// DeleteStudioSessionMapping API operation for Amazon Elastic MapReduce. // -// Provides the details of a security configuration by returning the configuration -// JSON. +// +// The Amazon EMR Studio APIs are in preview release for Amazon EMR and are +// subject to change. +// +// Removes a user or group from an Amazon EMR Studio. // // 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 Elastic MapReduce's -// API operation DescribeSecurityConfiguration for usage and error information. +// API operation DeleteStudioSessionMapping for usage and error information. // // Returned Error Types: -// * InternalServerException -// This exception occurs when there is an internal failure in the EMR service. +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. // // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration -func (c *EMR) DescribeSecurityConfiguration(input *DescribeSecurityConfigurationInput) (*DescribeSecurityConfigurationOutput, error) { - req, out := c.DescribeSecurityConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioSessionMapping +func (c *EMR) DeleteStudioSessionMapping(input *DeleteStudioSessionMappingInput) (*DeleteStudioSessionMappingOutput, error) { + req, out := c.DeleteStudioSessionMappingRequest(input) return out, req.Send() } -// DescribeSecurityConfigurationWithContext is the same as DescribeSecurityConfiguration with the addition of +// DeleteStudioSessionMappingWithContext is the same as DeleteStudioSessionMapping with the addition of // the ability to pass a context and additional request options. // -// See DescribeSecurityConfiguration for details on how to use this API operation. +// See DeleteStudioSessionMapping 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 *EMR) DescribeSecurityConfigurationWithContext(ctx aws.Context, input *DescribeSecurityConfigurationInput, opts ...request.Option) (*DescribeSecurityConfigurationOutput, error) { - req, out := c.DescribeSecurityConfigurationRequest(input) +func (c *EMR) DeleteStudioSessionMappingWithContext(ctx aws.Context, input *DeleteStudioSessionMappingInput, opts ...request.Option) (*DeleteStudioSessionMappingOutput, error) { + req, out := c.DeleteStudioSessionMappingRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeStep = "DescribeStep" +const opDescribeCluster = "DescribeCluster" -// DescribeStepRequest generates a "aws/request.Request" representing the -// client's request for the DescribeStep operation. The "output" return +// DescribeClusterRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCluster 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 DescribeStep for more information on using the DescribeStep +// See DescribeCluster for more information on using the DescribeCluster // 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 DescribeStepRequest method. -// req, resp := client.DescribeStepRequest(params) +// // Example sending a request using the DescribeClusterRequest method. +// req, resp := client.DescribeClusterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep -func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Request, output *DescribeStepOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster +func (c *EMR) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { op := &request.Operation{ - Name: opDescribeStep, + Name: opDescribeCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeStepInput{} + input = &DescribeClusterInput{} } - output = &DescribeStepOutput{} + output = &DescribeClusterOutput{} req = c.newRequest(op, input, output) return } -// DescribeStep API operation for Amazon Elastic MapReduce. +// DescribeCluster API operation for Amazon Elastic MapReduce. // -// Provides more detail about the cluster step. +// Provides cluster-level details including status, hardware and software configuration, +// VPC settings, and so on. // // 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 Elastic MapReduce's -// API operation DescribeStep for usage and error information. +// API operation DescribeCluster for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1035,245 +1029,272 @@ func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Reques // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep -func (c *EMR) DescribeStep(input *DescribeStepInput) (*DescribeStepOutput, error) { - req, out := c.DescribeStepRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster +func (c *EMR) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { + req, out := c.DescribeClusterRequest(input) return out, req.Send() } -// DescribeStepWithContext is the same as DescribeStep with the addition of +// DescribeClusterWithContext is the same as DescribeCluster with the addition of // the ability to pass a context and additional request options. // -// See DescribeStep for details on how to use this API operation. +// See DescribeCluster 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 *EMR) DescribeStepWithContext(ctx aws.Context, input *DescribeStepInput, opts ...request.Option) (*DescribeStepOutput, error) { - req, out := c.DescribeStepRequest(input) +func (c *EMR) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) { + req, out := c.DescribeClusterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetBlockPublicAccessConfiguration = "GetBlockPublicAccessConfiguration" +const opDescribeJobFlows = "DescribeJobFlows" -// GetBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the GetBlockPublicAccessConfiguration operation. The "output" return +// DescribeJobFlowsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeJobFlows 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 GetBlockPublicAccessConfiguration for more information on using the GetBlockPublicAccessConfiguration +// See DescribeJobFlows for more information on using the DescribeJobFlows // 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 GetBlockPublicAccessConfigurationRequest method. -// req, resp := client.GetBlockPublicAccessConfigurationRequest(params) +// // Example sending a request using the DescribeJobFlowsRequest method. +// req, resp := client.DescribeJobFlowsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration -func (c *EMR) GetBlockPublicAccessConfigurationRequest(input *GetBlockPublicAccessConfigurationInput) (req *request.Request, output *GetBlockPublicAccessConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows +// +// Deprecated: DescribeJobFlows has been deprecated +func (c *EMR) DescribeJobFlowsRequest(input *DescribeJobFlowsInput) (req *request.Request, output *DescribeJobFlowsOutput) { + if c.Client.Config.Logger != nil { + c.Client.Config.Logger.Log("This operation, DescribeJobFlows, has been deprecated") + } op := &request.Operation{ - Name: opGetBlockPublicAccessConfiguration, + Name: opDescribeJobFlows, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetBlockPublicAccessConfigurationInput{} + input = &DescribeJobFlowsInput{} } - output = &GetBlockPublicAccessConfigurationOutput{} + output = &DescribeJobFlowsOutput{} req = c.newRequest(op, input, output) return } -// GetBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. +// DescribeJobFlows API operation for Amazon Elastic MapReduce. // -// Returns the Amazon EMR block public access configuration for your AWS account -// in the current Region. For more information see Configure Block Public Access -// for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) -// in the Amazon EMR Management Guide. +// This API is no longer supported and will eventually be removed. We recommend +// you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and +// ListBootstrapActions instead. +// +// DescribeJobFlows returns a list of job flows that match all of the supplied +// parameters. The parameters can include a list of job flow IDs, job flow states, +// and restrictions on job flow creation date and time. +// +// Regardless of supplied parameters, only job flows created within the last +// two months are returned. +// +// If no parameters are supplied, then job flows matching either of the following +// criteria are returned: +// +// * Job flows created and completed in the last two weeks +// +// * Job flows created within the last two months that are in one of the +// following states: RUNNING, WAITING, SHUTTING_DOWN, STARTING +// +// Amazon EMR can return a maximum of 512 job flow descriptions. // // 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 Elastic MapReduce's -// API operation GetBlockPublicAccessConfiguration for usage and error information. +// API operation DescribeJobFlows for usage and error information. // // Returned Error Types: -// * InternalServerException -// This exception occurs when there is an internal failure in the EMR service. +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. // -// * InvalidRequestException -// This exception occurs when there is something wrong with user input. +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration -func (c *EMR) GetBlockPublicAccessConfiguration(input *GetBlockPublicAccessConfigurationInput) (*GetBlockPublicAccessConfigurationOutput, error) { - req, out := c.GetBlockPublicAccessConfigurationRequest(input) +// Deprecated: DescribeJobFlows has been deprecated +func (c *EMR) DescribeJobFlows(input *DescribeJobFlowsInput) (*DescribeJobFlowsOutput, error) { + req, out := c.DescribeJobFlowsRequest(input) return out, req.Send() } -// GetBlockPublicAccessConfigurationWithContext is the same as GetBlockPublicAccessConfiguration with the addition of +// DescribeJobFlowsWithContext is the same as DescribeJobFlows with the addition of // the ability to pass a context and additional request options. // -// See GetBlockPublicAccessConfiguration for details on how to use this API operation. +// See DescribeJobFlows 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 *EMR) GetBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *GetBlockPublicAccessConfigurationInput, opts ...request.Option) (*GetBlockPublicAccessConfigurationOutput, error) { - req, out := c.GetBlockPublicAccessConfigurationRequest(input) +// +// Deprecated: DescribeJobFlowsWithContext has been deprecated +func (c *EMR) DescribeJobFlowsWithContext(ctx aws.Context, input *DescribeJobFlowsInput, opts ...request.Option) (*DescribeJobFlowsOutput, error) { + req, out := c.DescribeJobFlowsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetManagedScalingPolicy = "GetManagedScalingPolicy" +const opDescribeNotebookExecution = "DescribeNotebookExecution" -// GetManagedScalingPolicyRequest generates a "aws/request.Request" representing the -// client's request for the GetManagedScalingPolicy operation. The "output" return +// DescribeNotebookExecutionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNotebookExecution 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 GetManagedScalingPolicy for more information on using the GetManagedScalingPolicy +// See DescribeNotebookExecution for more information on using the DescribeNotebookExecution // 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 GetManagedScalingPolicyRequest method. -// req, resp := client.GetManagedScalingPolicyRequest(params) +// // Example sending a request using the DescribeNotebookExecutionRequest method. +// req, resp := client.DescribeNotebookExecutionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy -func (c *EMR) GetManagedScalingPolicyRequest(input *GetManagedScalingPolicyInput) (req *request.Request, output *GetManagedScalingPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution +func (c *EMR) DescribeNotebookExecutionRequest(input *DescribeNotebookExecutionInput) (req *request.Request, output *DescribeNotebookExecutionOutput) { op := &request.Operation{ - Name: opGetManagedScalingPolicy, + Name: opDescribeNotebookExecution, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetManagedScalingPolicyInput{} + input = &DescribeNotebookExecutionInput{} } - output = &GetManagedScalingPolicyOutput{} + output = &DescribeNotebookExecutionOutput{} req = c.newRequest(op, input, output) return } -// GetManagedScalingPolicy API operation for Amazon Elastic MapReduce. +// DescribeNotebookExecution API operation for Amazon Elastic MapReduce. // -// Fetches the attached managed scaling policy for an Amazon EMR cluster. +// Provides details of a notebook execution. // // 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 Elastic MapReduce's -// API operation GetManagedScalingPolicy for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy -func (c *EMR) GetManagedScalingPolicy(input *GetManagedScalingPolicyInput) (*GetManagedScalingPolicyOutput, error) { - req, out := c.GetManagedScalingPolicyRequest(input) +// API operation DescribeNotebookExecution for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution +func (c *EMR) DescribeNotebookExecution(input *DescribeNotebookExecutionInput) (*DescribeNotebookExecutionOutput, error) { + req, out := c.DescribeNotebookExecutionRequest(input) return out, req.Send() } -// GetManagedScalingPolicyWithContext is the same as GetManagedScalingPolicy with the addition of +// DescribeNotebookExecutionWithContext is the same as DescribeNotebookExecution with the addition of // the ability to pass a context and additional request options. // -// See GetManagedScalingPolicy for details on how to use this API operation. +// See DescribeNotebookExecution 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 *EMR) GetManagedScalingPolicyWithContext(ctx aws.Context, input *GetManagedScalingPolicyInput, opts ...request.Option) (*GetManagedScalingPolicyOutput, error) { - req, out := c.GetManagedScalingPolicyRequest(input) +func (c *EMR) DescribeNotebookExecutionWithContext(ctx aws.Context, input *DescribeNotebookExecutionInput, opts ...request.Option) (*DescribeNotebookExecutionOutput, error) { + req, out := c.DescribeNotebookExecutionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListBootstrapActions = "ListBootstrapActions" +const opDescribeSecurityConfiguration = "DescribeSecurityConfiguration" -// ListBootstrapActionsRequest generates a "aws/request.Request" representing the -// client's request for the ListBootstrapActions operation. The "output" return +// DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSecurityConfiguration 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 ListBootstrapActions for more information on using the ListBootstrapActions +// See DescribeSecurityConfiguration for more information on using the DescribeSecurityConfiguration // 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 ListBootstrapActionsRequest method. -// req, resp := client.ListBootstrapActionsRequest(params) +// // Example sending a request using the DescribeSecurityConfigurationRequest method. +// req, resp := client.DescribeSecurityConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions -func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req *request.Request, output *ListBootstrapActionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration +func (c *EMR) DescribeSecurityConfigurationRequest(input *DescribeSecurityConfigurationInput) (req *request.Request, output *DescribeSecurityConfigurationOutput) { op := &request.Operation{ - Name: opListBootstrapActions, + Name: opDescribeSecurityConfiguration, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"Marker"}, - OutputTokens: []string{"Marker"}, - LimitToken: "", - TruncationToken: "", - }, } if input == nil { - input = &ListBootstrapActionsInput{} + input = &DescribeSecurityConfigurationInput{} } - output = &ListBootstrapActionsOutput{} + output = &DescribeSecurityConfigurationOutput{} req = c.newRequest(op, input, output) return } -// ListBootstrapActions API operation for Amazon Elastic MapReduce. +// DescribeSecurityConfiguration API operation for Amazon Elastic MapReduce. // -// Provides information about the bootstrap actions associated with a cluster. +// Provides the details of a security configuration by returning the configuration +// JSON. // // 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 Elastic MapReduce's -// API operation ListBootstrapActions for usage and error information. +// API operation DescribeSecurityConfiguration for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1282,142 +1303,80 @@ func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions -func (c *EMR) ListBootstrapActions(input *ListBootstrapActionsInput) (*ListBootstrapActionsOutput, error) { - req, out := c.ListBootstrapActionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration +func (c *EMR) DescribeSecurityConfiguration(input *DescribeSecurityConfigurationInput) (*DescribeSecurityConfigurationOutput, error) { + req, out := c.DescribeSecurityConfigurationRequest(input) return out, req.Send() } -// ListBootstrapActionsWithContext is the same as ListBootstrapActions with the addition of +// DescribeSecurityConfigurationWithContext is the same as DescribeSecurityConfiguration with the addition of // the ability to pass a context and additional request options. // -// See ListBootstrapActions for details on how to use this API operation. +// See DescribeSecurityConfiguration 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 *EMR) ListBootstrapActionsWithContext(ctx aws.Context, input *ListBootstrapActionsInput, opts ...request.Option) (*ListBootstrapActionsOutput, error) { - req, out := c.ListBootstrapActionsRequest(input) +func (c *EMR) DescribeSecurityConfigurationWithContext(ctx aws.Context, input *DescribeSecurityConfigurationInput, opts ...request.Option) (*DescribeSecurityConfigurationOutput, error) { + req, out := c.DescribeSecurityConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListBootstrapActionsPages iterates over the pages of a ListBootstrapActions operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListBootstrapActions method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListBootstrapActions operation. -// pageNum := 0 -// err := client.ListBootstrapActionsPages(params, -// func(page *emr.ListBootstrapActionsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *EMR) ListBootstrapActionsPages(input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool) error { - return c.ListBootstrapActionsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListBootstrapActionsPagesWithContext same as ListBootstrapActionsPages except -// it takes a Context and allows setting request options on the pages. -// -// 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 *EMR) ListBootstrapActionsPagesWithContext(ctx aws.Context, input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListBootstrapActionsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListBootstrapActionsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListBootstrapActionsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListClusters = "ListClusters" +const opDescribeStep = "DescribeStep" -// ListClustersRequest generates a "aws/request.Request" representing the -// client's request for the ListClusters operation. The "output" return +// DescribeStepRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStep 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 ListClusters for more information on using the ListClusters +// See DescribeStep for more information on using the DescribeStep // 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 ListClustersRequest method. -// req, resp := client.ListClustersRequest(params) +// // Example sending a request using the DescribeStepRequest method. +// req, resp := client.DescribeStepRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters -func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep +func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Request, output *DescribeStepOutput) { op := &request.Operation{ - Name: opListClusters, + Name: opDescribeStep, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"Marker"}, - OutputTokens: []string{"Marker"}, - LimitToken: "", - TruncationToken: "", - }, } if input == nil { - input = &ListClustersInput{} + input = &DescribeStepInput{} } - output = &ListClustersOutput{} + output = &DescribeStepOutput{} req = c.newRequest(op, input, output) return } -// ListClusters API operation for Amazon Elastic MapReduce. +// DescribeStep API operation for Amazon Elastic MapReduce. // -// Provides the status of all clusters visible to this AWS account. Allows you -// to filter the list of clusters based on certain criteria; for example, filtering -// by cluster creation date and time or by status. This call returns a maximum -// of 50 clusters per call, but returns a marker to track the paging of the -// cluster list across multiple ListClusters calls. +// Provides more detail about the cluster step. // // 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 Elastic MapReduce's -// API operation ListClusters for usage and error information. +// API operation DescribeStep for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1426,141 +1385,85 @@ func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Reques // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters -func (c *EMR) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { - req, out := c.ListClustersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep +func (c *EMR) DescribeStep(input *DescribeStepInput) (*DescribeStepOutput, error) { + req, out := c.DescribeStepRequest(input) return out, req.Send() } -// ListClustersWithContext is the same as ListClusters with the addition of +// DescribeStepWithContext is the same as DescribeStep with the addition of // the ability to pass a context and additional request options. // -// See ListClusters for details on how to use this API operation. +// See DescribeStep 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 *EMR) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { - req, out := c.ListClustersRequest(input) +func (c *EMR) DescribeStepWithContext(ctx aws.Context, input *DescribeStepInput, opts ...request.Option) (*DescribeStepOutput, error) { + req, out := c.DescribeStepRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListClustersPages iterates over the pages of a ListClusters operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListClusters method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListClusters operation. -// pageNum := 0 -// err := client.ListClustersPages(params, -// func(page *emr.ListClustersOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *EMR) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { - return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListClustersPagesWithContext same as ListClustersPages except -// it takes a Context and allows setting request options on the pages. -// -// 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 *EMR) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListClustersInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListClustersRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListInstanceFleets = "ListInstanceFleets" +const opDescribeStudio = "DescribeStudio" -// ListInstanceFleetsRequest generates a "aws/request.Request" representing the -// client's request for the ListInstanceFleets operation. The "output" return +// DescribeStudioRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStudio 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 ListInstanceFleets for more information on using the ListInstanceFleets +// See DescribeStudio for more information on using the DescribeStudio // 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 ListInstanceFleetsRequest method. -// req, resp := client.ListInstanceFleetsRequest(params) +// // Example sending a request using the DescribeStudioRequest method. +// req, resp := client.DescribeStudioRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets -func (c *EMR) ListInstanceFleetsRequest(input *ListInstanceFleetsInput) (req *request.Request, output *ListInstanceFleetsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudio +func (c *EMR) DescribeStudioRequest(input *DescribeStudioInput) (req *request.Request, output *DescribeStudioOutput) { op := &request.Operation{ - Name: opListInstanceFleets, + Name: opDescribeStudio, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"Marker"}, - OutputTokens: []string{"Marker"}, - LimitToken: "", - TruncationToken: "", - }, } if input == nil { - input = &ListInstanceFleetsInput{} + input = &DescribeStudioInput{} } - output = &ListInstanceFleetsOutput{} + output = &DescribeStudioOutput{} req = c.newRequest(op, input, output) return } -// ListInstanceFleets API operation for Amazon Elastic MapReduce. +// DescribeStudio API operation for Amazon Elastic MapReduce. // -// Lists all available details about the instance fleets in a cluster. // -// The instance fleet configuration is available only in Amazon EMR versions -// 4.8.0 and later, excluding 5.0.x versions. +// The Amazon EMR Studio APIs are in preview release for Amazon EMR and are +// subject to change. +// +// Returns details for the specified Amazon EMR Studio including ID, Name, VPC, +// Studio access URL, and so on. // // 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 Elastic MapReduce's -// API operation ListInstanceFleets for usage and error information. +// API operation DescribeStudio for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1569,138 +1472,83 @@ func (c *EMR) ListInstanceFleetsRequest(input *ListInstanceFleetsInput) (req *re // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets -func (c *EMR) ListInstanceFleets(input *ListInstanceFleetsInput) (*ListInstanceFleetsOutput, error) { - req, out := c.ListInstanceFleetsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudio +func (c *EMR) DescribeStudio(input *DescribeStudioInput) (*DescribeStudioOutput, error) { + req, out := c.DescribeStudioRequest(input) return out, req.Send() } -// ListInstanceFleetsWithContext is the same as ListInstanceFleets with the addition of +// DescribeStudioWithContext is the same as DescribeStudio with the addition of // the ability to pass a context and additional request options. // -// See ListInstanceFleets for details on how to use this API operation. +// See DescribeStudio 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 *EMR) ListInstanceFleetsWithContext(ctx aws.Context, input *ListInstanceFleetsInput, opts ...request.Option) (*ListInstanceFleetsOutput, error) { - req, out := c.ListInstanceFleetsRequest(input) +func (c *EMR) DescribeStudioWithContext(ctx aws.Context, input *DescribeStudioInput, opts ...request.Option) (*DescribeStudioOutput, error) { + req, out := c.DescribeStudioRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListInstanceFleetsPages iterates over the pages of a ListInstanceFleets operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListInstanceFleets method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListInstanceFleets operation. -// pageNum := 0 -// err := client.ListInstanceFleetsPages(params, -// func(page *emr.ListInstanceFleetsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *EMR) ListInstanceFleetsPages(input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool) error { - return c.ListInstanceFleetsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListInstanceFleetsPagesWithContext same as ListInstanceFleetsPages except -// it takes a Context and allows setting request options on the pages. -// -// 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 *EMR) ListInstanceFleetsPagesWithContext(ctx aws.Context, input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListInstanceFleetsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListInstanceFleetsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListInstanceFleetsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListInstanceGroups = "ListInstanceGroups" +const opGetBlockPublicAccessConfiguration = "GetBlockPublicAccessConfiguration" -// ListInstanceGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListInstanceGroups operation. The "output" return +// GetBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetBlockPublicAccessConfiguration 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 ListInstanceGroups for more information on using the ListInstanceGroups +// See GetBlockPublicAccessConfiguration for more information on using the GetBlockPublicAccessConfiguration // 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 ListInstanceGroupsRequest method. -// req, resp := client.ListInstanceGroupsRequest(params) +// // Example sending a request using the GetBlockPublicAccessConfigurationRequest method. +// req, resp := client.GetBlockPublicAccessConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups -func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *request.Request, output *ListInstanceGroupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration +func (c *EMR) GetBlockPublicAccessConfigurationRequest(input *GetBlockPublicAccessConfigurationInput) (req *request.Request, output *GetBlockPublicAccessConfigurationOutput) { op := &request.Operation{ - Name: opListInstanceGroups, + Name: opGetBlockPublicAccessConfiguration, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"Marker"}, - OutputTokens: []string{"Marker"}, - LimitToken: "", - TruncationToken: "", - }, } if input == nil { - input = &ListInstanceGroupsInput{} + input = &GetBlockPublicAccessConfigurationInput{} } - output = &ListInstanceGroupsOutput{} + output = &GetBlockPublicAccessConfigurationOutput{} req = c.newRequest(op, input, output) return } -// ListInstanceGroups API operation for Amazon Elastic MapReduce. +// GetBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. // -// Provides all available details about the instance groups in a cluster. +// Returns the Amazon EMR block public access configuration for your AWS account +// in the current Region. For more information see Configure Block Public Access +// for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) +// in the Amazon EMR Management Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Elastic MapReduce's -// API operation ListInstanceGroups for usage and error information. +// API operation GetBlockPublicAccessConfiguration for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1709,252 +1557,219 @@ func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *re // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups -func (c *EMR) ListInstanceGroups(input *ListInstanceGroupsInput) (*ListInstanceGroupsOutput, error) { - req, out := c.ListInstanceGroupsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration +func (c *EMR) GetBlockPublicAccessConfiguration(input *GetBlockPublicAccessConfigurationInput) (*GetBlockPublicAccessConfigurationOutput, error) { + req, out := c.GetBlockPublicAccessConfigurationRequest(input) return out, req.Send() } -// ListInstanceGroupsWithContext is the same as ListInstanceGroups with the addition of +// GetBlockPublicAccessConfigurationWithContext is the same as GetBlockPublicAccessConfiguration with the addition of // the ability to pass a context and additional request options. // -// See ListInstanceGroups for details on how to use this API operation. +// See GetBlockPublicAccessConfiguration 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 *EMR) ListInstanceGroupsWithContext(ctx aws.Context, input *ListInstanceGroupsInput, opts ...request.Option) (*ListInstanceGroupsOutput, error) { - req, out := c.ListInstanceGroupsRequest(input) +func (c *EMR) GetBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *GetBlockPublicAccessConfigurationInput, opts ...request.Option) (*GetBlockPublicAccessConfigurationOutput, error) { + req, out := c.GetBlockPublicAccessConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListInstanceGroupsPages iterates over the pages of a ListInstanceGroups operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListInstanceGroups method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListInstanceGroups operation. -// pageNum := 0 -// err := client.ListInstanceGroupsPages(params, -// func(page *emr.ListInstanceGroupsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *EMR) ListInstanceGroupsPages(input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool) error { - return c.ListInstanceGroupsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListInstanceGroupsPagesWithContext same as ListInstanceGroupsPages except -// it takes a Context and allows setting request options on the pages. -// -// 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 *EMR) ListInstanceGroupsPagesWithContext(ctx aws.Context, input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListInstanceGroupsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListInstanceGroupsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListInstanceGroupsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListInstances = "ListInstances" +const opGetManagedScalingPolicy = "GetManagedScalingPolicy" -// ListInstancesRequest generates a "aws/request.Request" representing the -// client's request for the ListInstances operation. The "output" return +// GetManagedScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetManagedScalingPolicy 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 ListInstances for more information on using the ListInstances +// See GetManagedScalingPolicy for more information on using the GetManagedScalingPolicy // 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 ListInstancesRequest method. -// req, resp := client.ListInstancesRequest(params) +// // Example sending a request using the GetManagedScalingPolicyRequest method. +// req, resp := client.GetManagedScalingPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances -func (c *EMR) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy +func (c *EMR) GetManagedScalingPolicyRequest(input *GetManagedScalingPolicyInput) (req *request.Request, output *GetManagedScalingPolicyOutput) { op := &request.Operation{ - Name: opListInstances, + Name: opGetManagedScalingPolicy, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"Marker"}, - OutputTokens: []string{"Marker"}, - LimitToken: "", - TruncationToken: "", - }, } if input == nil { - input = &ListInstancesInput{} + input = &GetManagedScalingPolicyInput{} } - output = &ListInstancesOutput{} + output = &GetManagedScalingPolicyOutput{} req = c.newRequest(op, input, output) return } -// ListInstances API operation for Amazon Elastic MapReduce. +// GetManagedScalingPolicy API operation for Amazon Elastic MapReduce. // -// Provides information for all active EC2 instances and EC2 instances terminated -// in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the -// following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, -// BOOTSTRAPPING, RUNNING. +// Fetches the attached managed scaling policy for an Amazon EMR cluster. // // 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 Elastic MapReduce's -// API operation ListInstances for usage and error information. -// -// Returned Error Types: -// * InternalServerException -// This exception occurs when there is an internal failure in the EMR service. -// -// * InvalidRequestException -// This exception occurs when there is something wrong with user input. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances -func (c *EMR) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) { - req, out := c.ListInstancesRequest(input) +// API operation GetManagedScalingPolicy for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy +func (c *EMR) GetManagedScalingPolicy(input *GetManagedScalingPolicyInput) (*GetManagedScalingPolicyOutput, error) { + req, out := c.GetManagedScalingPolicyRequest(input) return out, req.Send() } -// ListInstancesWithContext is the same as ListInstances with the addition of +// GetManagedScalingPolicyWithContext is the same as GetManagedScalingPolicy with the addition of // the ability to pass a context and additional request options. // -// See ListInstances for details on how to use this API operation. +// See GetManagedScalingPolicy 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 *EMR) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) { - req, out := c.ListInstancesRequest(input) +func (c *EMR) GetManagedScalingPolicyWithContext(ctx aws.Context, input *GetManagedScalingPolicyInput, opts ...request.Option) (*GetManagedScalingPolicyOutput, error) { + req, out := c.GetManagedScalingPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListInstancesPages iterates over the pages of a ListInstances operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetStudioSessionMapping = "GetStudioSessionMapping" + +// GetStudioSessionMappingRequest generates a "aws/request.Request" representing the +// client's request for the GetStudioSessionMapping operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListInstances method for more information on how to use this operation. +// 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. // -// Note: This operation can generate multiple requests to a service. +// See GetStudioSessionMapping for more information on using the GetStudioSessionMapping +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListInstances operation. -// pageNum := 0 -// err := client.ListInstancesPages(params, -// func(page *emr.ListInstancesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// 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. // -func (c *EMR) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error { - return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +// +// // Example sending a request using the GetStudioSessionMappingRequest method. +// req, resp := client.GetStudioSessionMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMapping +func (c *EMR) GetStudioSessionMappingRequest(input *GetStudioSessionMappingInput) (req *request.Request, output *GetStudioSessionMappingOutput) { + op := &request.Operation{ + Name: opGetStudioSessionMapping, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetStudioSessionMappingInput{} + } + + output = &GetStudioSessionMappingOutput{} + req = c.newRequest(op, input, output) + return } -// ListInstancesPagesWithContext same as ListInstancesPages except -// it takes a Context and allows setting request options on the pages. +// GetStudioSessionMapping API operation for Amazon Elastic MapReduce. +// +// +// The Amazon EMR Studio APIs are in preview release for Amazon EMR and are +// subject to change. +// +// Fetches mapping details for the specified Amazon EMR Studio and identity +// (user or group). +// +// 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 Elastic MapReduce's +// API operation GetStudioSessionMapping for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMapping +func (c *EMR) GetStudioSessionMapping(input *GetStudioSessionMappingInput) (*GetStudioSessionMappingOutput, error) { + req, out := c.GetStudioSessionMappingRequest(input) + return out, req.Send() +} + +// GetStudioSessionMappingWithContext is the same as GetStudioSessionMapping with the addition of +// the ability to pass a context and additional request options. +// +// See GetStudioSessionMapping 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 *EMR) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListInstancesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListInstancesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() +func (c *EMR) GetStudioSessionMappingWithContext(ctx aws.Context, input *GetStudioSessionMappingInput, opts ...request.Option) (*GetStudioSessionMappingOutput, error) { + req, out := c.GetStudioSessionMappingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -const opListNotebookExecutions = "ListNotebookExecutions" +const opListBootstrapActions = "ListBootstrapActions" -// ListNotebookExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the ListNotebookExecutions operation. The "output" return +// ListBootstrapActionsRequest generates a "aws/request.Request" representing the +// client's request for the ListBootstrapActions 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 ListNotebookExecutions for more information on using the ListNotebookExecutions +// See ListBootstrapActions for more information on using the ListBootstrapActions // 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 ListNotebookExecutionsRequest method. -// req, resp := client.ListNotebookExecutionsRequest(params) +// // Example sending a request using the ListBootstrapActionsRequest method. +// req, resp := client.ListBootstrapActionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions -func (c *EMR) ListNotebookExecutionsRequest(input *ListNotebookExecutionsInput) (req *request.Request, output *ListNotebookExecutionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions +func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req *request.Request, output *ListBootstrapActionsOutput) { op := &request.Operation{ - Name: opListNotebookExecutions, + Name: opListBootstrapActions, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1966,95 +1781,91 @@ func (c *EMR) ListNotebookExecutionsRequest(input *ListNotebookExecutionsInput) } if input == nil { - input = &ListNotebookExecutionsInput{} + input = &ListBootstrapActionsInput{} } - output = &ListNotebookExecutionsOutput{} + output = &ListBootstrapActionsOutput{} req = c.newRequest(op, input, output) return } -// ListNotebookExecutions API operation for Amazon Elastic MapReduce. +// ListBootstrapActions API operation for Amazon Elastic MapReduce. // -// Provides summaries of all notebook executions. You can filter the list based -// on multiple criteria such as status, time range, and editor id. Returns a -// maximum of 50 notebook executions and a marker to track the paging of a longer -// notebook execution list across multiple ListNotebookExecution calls. +// Provides information about the bootstrap actions associated with a cluster. // // 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 Elastic MapReduce's -// API operation ListNotebookExecutions for usage and error information. +// API operation ListBootstrapActions for usage and error information. // // Returned Error Types: -// * InternalServerError -// Indicates that an error occurred while processing the request and that the -// request was not completed. +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. // // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions -func (c *EMR) ListNotebookExecutions(input *ListNotebookExecutionsInput) (*ListNotebookExecutionsOutput, error) { - req, out := c.ListNotebookExecutionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions +func (c *EMR) ListBootstrapActions(input *ListBootstrapActionsInput) (*ListBootstrapActionsOutput, error) { + req, out := c.ListBootstrapActionsRequest(input) return out, req.Send() } -// ListNotebookExecutionsWithContext is the same as ListNotebookExecutions with the addition of +// ListBootstrapActionsWithContext is the same as ListBootstrapActions with the addition of // the ability to pass a context and additional request options. // -// See ListNotebookExecutions for details on how to use this API operation. +// See ListBootstrapActions 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 *EMR) ListNotebookExecutionsWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, opts ...request.Option) (*ListNotebookExecutionsOutput, error) { - req, out := c.ListNotebookExecutionsRequest(input) +func (c *EMR) ListBootstrapActionsWithContext(ctx aws.Context, input *ListBootstrapActionsInput, opts ...request.Option) (*ListBootstrapActionsOutput, error) { + req, out := c.ListBootstrapActionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListNotebookExecutionsPages iterates over the pages of a ListNotebookExecutions operation, +// ListBootstrapActionsPages iterates over the pages of a ListBootstrapActions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListNotebookExecutions method for more information on how to use this operation. +// See ListBootstrapActions method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListNotebookExecutions operation. +// // Example iterating over at most 3 pages of a ListBootstrapActions operation. // pageNum := 0 -// err := client.ListNotebookExecutionsPages(params, -// func(page *emr.ListNotebookExecutionsOutput, lastPage bool) bool { +// err := client.ListBootstrapActionsPages(params, +// func(page *emr.ListBootstrapActionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *EMR) ListNotebookExecutionsPages(input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool) error { - return c.ListNotebookExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *EMR) ListBootstrapActionsPages(input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool) error { + return c.ListBootstrapActionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListNotebookExecutionsPagesWithContext same as ListNotebookExecutionsPages except +// ListBootstrapActionsPagesWithContext same as ListBootstrapActionsPages except // it takes a Context and allows setting request options on the pages. // // 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 *EMR) ListNotebookExecutionsPagesWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool, opts ...request.Option) error { +func (c *EMR) ListBootstrapActionsPagesWithContext(ctx aws.Context, input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListNotebookExecutionsInput + var inCpy *ListBootstrapActionsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListNotebookExecutionsRequest(inCpy) + req, _ := c.ListBootstrapActionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2062,7 +1873,7 @@ func (c *EMR) ListNotebookExecutionsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListNotebookExecutionsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListBootstrapActionsOutput), !p.HasNextPage()) { break } } @@ -2070,35 +1881,35 @@ func (c *EMR) ListNotebookExecutionsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListSecurityConfigurations = "ListSecurityConfigurations" +const opListClusters = "ListClusters" -// ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the -// client's request for the ListSecurityConfigurations operation. The "output" return +// ListClustersRequest generates a "aws/request.Request" representing the +// client's request for the ListClusters 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 ListSecurityConfigurations for more information on using the ListSecurityConfigurations +// See ListClusters for more information on using the ListClusters // 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 ListSecurityConfigurationsRequest method. -// req, resp := client.ListSecurityConfigurationsRequest(params) +// // Example sending a request using the ListClustersRequest method. +// req, resp := client.ListClustersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations -func (c *EMR) ListSecurityConfigurationsRequest(input *ListSecurityConfigurationsInput) (req *request.Request, output *ListSecurityConfigurationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters +func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { op := &request.Operation{ - Name: opListSecurityConfigurations, + Name: opListClusters, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2110,27 +1921,28 @@ func (c *EMR) ListSecurityConfigurationsRequest(input *ListSecurityConfiguration } if input == nil { - input = &ListSecurityConfigurationsInput{} + input = &ListClustersInput{} } - output = &ListSecurityConfigurationsOutput{} + output = &ListClustersOutput{} req = c.newRequest(op, input, output) return } -// ListSecurityConfigurations API operation for Amazon Elastic MapReduce. +// ListClusters API operation for Amazon Elastic MapReduce. // -// Lists all the security configurations visible to this account, providing -// their creation dates and times, and their names. This call returns a maximum +// Provides the status of all clusters visible to this AWS account. Allows you +// to filter the list of clusters based on certain criteria; for example, filtering +// by cluster creation date and time or by status. This call returns a maximum // of 50 clusters per call, but returns a marker to track the paging of the -// cluster list across multiple ListSecurityConfigurations calls. +// cluster list across multiple ListClusters calls. // // 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 Elastic MapReduce's -// API operation ListSecurityConfigurations for usage and error information. +// API operation ListClusters for usage and error information. // // Returned Error Types: // * InternalServerException @@ -2139,65 +1951,65 @@ func (c *EMR) ListSecurityConfigurationsRequest(input *ListSecurityConfiguration // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations -func (c *EMR) ListSecurityConfigurations(input *ListSecurityConfigurationsInput) (*ListSecurityConfigurationsOutput, error) { - req, out := c.ListSecurityConfigurationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters +func (c *EMR) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { + req, out := c.ListClustersRequest(input) return out, req.Send() } -// ListSecurityConfigurationsWithContext is the same as ListSecurityConfigurations with the addition of +// ListClustersWithContext is the same as ListClusters with the addition of // the ability to pass a context and additional request options. // -// See ListSecurityConfigurations for details on how to use this API operation. +// See ListClusters 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 *EMR) ListSecurityConfigurationsWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, opts ...request.Option) (*ListSecurityConfigurationsOutput, error) { - req, out := c.ListSecurityConfigurationsRequest(input) +func (c *EMR) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { + req, out := c.ListClustersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListSecurityConfigurationsPages iterates over the pages of a ListSecurityConfigurations operation, +// ListClustersPages iterates over the pages of a ListClusters operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListSecurityConfigurations method for more information on how to use this operation. +// See ListClusters method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListSecurityConfigurations operation. +// // Example iterating over at most 3 pages of a ListClusters operation. // pageNum := 0 -// err := client.ListSecurityConfigurationsPages(params, -// func(page *emr.ListSecurityConfigurationsOutput, lastPage bool) bool { +// err := client.ListClustersPages(params, +// func(page *emr.ListClustersOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *EMR) ListSecurityConfigurationsPages(input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool) error { - return c.ListSecurityConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *EMR) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { + return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListSecurityConfigurationsPagesWithContext same as ListSecurityConfigurationsPages except +// ListClustersPagesWithContext same as ListClustersPages except // it takes a Context and allows setting request options on the pages. // // 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 *EMR) ListSecurityConfigurationsPagesWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool, opts ...request.Option) error { +func (c *EMR) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListSecurityConfigurationsInput + var inCpy *ListClustersInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListSecurityConfigurationsRequest(inCpy) + req, _ := c.ListClustersRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2205,7 +2017,7 @@ func (c *EMR) ListSecurityConfigurationsPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListSecurityConfigurationsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { break } } @@ -2213,35 +2025,35 @@ func (c *EMR) ListSecurityConfigurationsPagesWithContext(ctx aws.Context, input return p.Err() } -const opListSteps = "ListSteps" +const opListInstanceFleets = "ListInstanceFleets" -// ListStepsRequest generates a "aws/request.Request" representing the -// client's request for the ListSteps operation. The "output" return +// ListInstanceFleetsRequest generates a "aws/request.Request" representing the +// client's request for the ListInstanceFleets 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 ListSteps for more information on using the ListSteps +// See ListInstanceFleets for more information on using the ListInstanceFleets // 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 ListStepsRequest method. -// req, resp := client.ListStepsRequest(params) +// // Example sending a request using the ListInstanceFleetsRequest method. +// req, resp := client.ListInstanceFleetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps -func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, output *ListStepsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets +func (c *EMR) ListInstanceFleetsRequest(input *ListInstanceFleetsInput) (req *request.Request, output *ListInstanceFleetsOutput) { op := &request.Operation{ - Name: opListSteps, + Name: opListInstanceFleets, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2253,26 +2065,27 @@ func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, out } if input == nil { - input = &ListStepsInput{} + input = &ListInstanceFleetsInput{} } - output = &ListStepsOutput{} + output = &ListInstanceFleetsOutput{} req = c.newRequest(op, input, output) return } -// ListSteps API operation for Amazon Elastic MapReduce. +// ListInstanceFleets API operation for Amazon Elastic MapReduce. // -// Provides a list of steps for the cluster in reverse order unless you specify -// stepIds with the request of filter by StepStates. You can specify a maximum -// of ten stepIDs. +// Lists all available details about the instance fleets in a cluster. +// +// The instance fleet configuration is available only in Amazon EMR versions +// 4.8.0 and later, excluding 5.0.x versions. // // 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 Elastic MapReduce's -// API operation ListSteps for usage and error information. +// API operation ListInstanceFleets for usage and error information. // // Returned Error Types: // * InternalServerException @@ -2281,65 +2094,65 @@ func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, out // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps -func (c *EMR) ListSteps(input *ListStepsInput) (*ListStepsOutput, error) { - req, out := c.ListStepsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets +func (c *EMR) ListInstanceFleets(input *ListInstanceFleetsInput) (*ListInstanceFleetsOutput, error) { + req, out := c.ListInstanceFleetsRequest(input) return out, req.Send() } -// ListStepsWithContext is the same as ListSteps with the addition of +// ListInstanceFleetsWithContext is the same as ListInstanceFleets with the addition of // the ability to pass a context and additional request options. // -// See ListSteps for details on how to use this API operation. +// See ListInstanceFleets 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 *EMR) ListStepsWithContext(ctx aws.Context, input *ListStepsInput, opts ...request.Option) (*ListStepsOutput, error) { - req, out := c.ListStepsRequest(input) +func (c *EMR) ListInstanceFleetsWithContext(ctx aws.Context, input *ListInstanceFleetsInput, opts ...request.Option) (*ListInstanceFleetsOutput, error) { + req, out := c.ListInstanceFleetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListStepsPages iterates over the pages of a ListSteps operation, +// ListInstanceFleetsPages iterates over the pages of a ListInstanceFleets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListSteps method for more information on how to use this operation. +// See ListInstanceFleets method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListSteps operation. +// // Example iterating over at most 3 pages of a ListInstanceFleets operation. // pageNum := 0 -// err := client.ListStepsPages(params, -// func(page *emr.ListStepsOutput, lastPage bool) bool { +// err := client.ListInstanceFleetsPages(params, +// func(page *emr.ListInstanceFleetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *EMR) ListStepsPages(input *ListStepsInput, fn func(*ListStepsOutput, bool) bool) error { - return c.ListStepsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *EMR) ListInstanceFleetsPages(input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool) error { + return c.ListInstanceFleetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListStepsPagesWithContext same as ListStepsPages except +// ListInstanceFleetsPagesWithContext same as ListInstanceFleetsPages except // it takes a Context and allows setting request options on the pages. // // 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 *EMR) ListStepsPagesWithContext(ctx aws.Context, input *ListStepsInput, fn func(*ListStepsOutput, bool) bool, opts ...request.Option) error { +func (c *EMR) ListInstanceFleetsPagesWithContext(ctx aws.Context, input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListStepsInput + var inCpy *ListInstanceFleetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListStepsRequest(inCpy) + req, _ := c.ListInstanceFleetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2347,7 +2160,7 @@ func (c *EMR) ListStepsPagesWithContext(ctx aws.Context, input *ListStepsInput, } for p.Next() { - if !fn(p.Page().(*ListStepsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListInstanceFleetsOutput), !p.HasNextPage()) { break } } @@ -2355,148 +2168,207 @@ func (c *EMR) ListStepsPagesWithContext(ctx aws.Context, input *ListStepsInput, return p.Err() } -const opModifyCluster = "ModifyCluster" +const opListInstanceGroups = "ListInstanceGroups" -// ModifyClusterRequest generates a "aws/request.Request" representing the -// client's request for the ModifyCluster operation. The "output" return +// ListInstanceGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListInstanceGroups 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 ModifyCluster for more information on using the ModifyCluster +// See ListInstanceGroups for more information on using the ListInstanceGroups // 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 ModifyClusterRequest method. -// req, resp := client.ModifyClusterRequest(params) +// // Example sending a request using the ListInstanceGroupsRequest method. +// req, resp := client.ListInstanceGroupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster -func (c *EMR) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups +func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *request.Request, output *ListInstanceGroupsOutput) { op := &request.Operation{ - Name: opModifyCluster, + Name: opListInstanceGroups, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &ModifyClusterInput{} + input = &ListInstanceGroupsInput{} } - output = &ModifyClusterOutput{} + output = &ListInstanceGroupsOutput{} req = c.newRequest(op, input, output) return } -// ModifyCluster API operation for Amazon Elastic MapReduce. +// ListInstanceGroups API operation for Amazon Elastic MapReduce. // -// Modifies the number of steps that can be executed concurrently for the cluster -// specified using ClusterID. +// Provides all available details about the instance groups in a cluster. // // 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 Elastic MapReduce's -// API operation ModifyCluster for usage and error information. +// API operation ListInstanceGroups for usage and error information. // // Returned Error Types: -// * InternalServerError -// Indicates that an error occurred while processing the request and that the -// request was not completed. +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. // // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster -func (c *EMR) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) { - req, out := c.ModifyClusterRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups +func (c *EMR) ListInstanceGroups(input *ListInstanceGroupsInput) (*ListInstanceGroupsOutput, error) { + req, out := c.ListInstanceGroupsRequest(input) return out, req.Send() } -// ModifyClusterWithContext is the same as ModifyCluster with the addition of +// ListInstanceGroupsWithContext is the same as ListInstanceGroups with the addition of // the ability to pass a context and additional request options. // -// See ModifyCluster for details on how to use this API operation. +// See ListInstanceGroups 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 *EMR) ModifyClusterWithContext(ctx aws.Context, input *ModifyClusterInput, opts ...request.Option) (*ModifyClusterOutput, error) { - req, out := c.ModifyClusterRequest(input) +func (c *EMR) ListInstanceGroupsWithContext(ctx aws.Context, input *ListInstanceGroupsInput, opts ...request.Option) (*ListInstanceGroupsOutput, error) { + req, out := c.ListInstanceGroupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opModifyInstanceFleet = "ModifyInstanceFleet" +// ListInstanceGroupsPages iterates over the pages of a ListInstanceGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInstanceGroups method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListInstanceGroups operation. +// pageNum := 0 +// err := client.ListInstanceGroupsPages(params, +// func(page *emr.ListInstanceGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMR) ListInstanceGroupsPages(input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool) error { + return c.ListInstanceGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// ModifyInstanceFleetRequest generates a "aws/request.Request" representing the -// client's request for the ModifyInstanceFleet operation. The "output" return +// ListInstanceGroupsPagesWithContext same as ListInstanceGroupsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *EMR) ListInstanceGroupsPagesWithContext(ctx aws.Context, input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListInstanceGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListInstanceGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListInstanceGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListInstances = "ListInstances" + +// ListInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListInstances 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 ModifyInstanceFleet for more information on using the ModifyInstanceFleet +// See ListInstances for more information on using the ListInstances // 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 ModifyInstanceFleetRequest method. -// req, resp := client.ModifyInstanceFleetRequest(params) +// // Example sending a request using the ListInstancesRequest method. +// req, resp := client.ListInstancesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet -func (c *EMR) ModifyInstanceFleetRequest(input *ModifyInstanceFleetInput) (req *request.Request, output *ModifyInstanceFleetOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances +func (c *EMR) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) { op := &request.Operation{ - Name: opModifyInstanceFleet, + Name: opListInstances, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &ModifyInstanceFleetInput{} + input = &ListInstancesInput{} } - output = &ModifyInstanceFleetOutput{} + output = &ListInstancesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// ModifyInstanceFleet API operation for Amazon Elastic MapReduce. -// -// Modifies the target On-Demand and target Spot capacities for the instance -// fleet with the specified InstanceFleetID within the cluster specified using -// ClusterID. The call either succeeds or fails atomically. +// ListInstances API operation for Amazon Elastic MapReduce. // -// The instance fleet configuration is available only in Amazon EMR versions -// 4.8.0 and later, excluding 5.0.x versions. +// Provides information for all active EC2 instances and EC2 instances terminated +// in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the +// following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, +// BOOTSTRAPPING, 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 // the error. // // See the AWS API reference guide for Amazon Elastic MapReduce's -// API operation ModifyInstanceFleet for usage and error information. +// API operation ListInstances for usage and error information. // // Returned Error Types: // * InternalServerException @@ -2505,245 +2377,285 @@ func (c *EMR) ModifyInstanceFleetRequest(input *ModifyInstanceFleetInput) (req * // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet -func (c *EMR) ModifyInstanceFleet(input *ModifyInstanceFleetInput) (*ModifyInstanceFleetOutput, error) { - req, out := c.ModifyInstanceFleetRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances +func (c *EMR) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) { + req, out := c.ListInstancesRequest(input) return out, req.Send() } -// ModifyInstanceFleetWithContext is the same as ModifyInstanceFleet with the addition of +// ListInstancesWithContext is the same as ListInstances with the addition of // the ability to pass a context and additional request options. // -// See ModifyInstanceFleet for details on how to use this API operation. +// See ListInstances 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 *EMR) ModifyInstanceFleetWithContext(ctx aws.Context, input *ModifyInstanceFleetInput, opts ...request.Option) (*ModifyInstanceFleetOutput, error) { - req, out := c.ModifyInstanceFleetRequest(input) +func (c *EMR) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) { + req, out := c.ListInstancesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opModifyInstanceGroups = "ModifyInstanceGroups" - -// ModifyInstanceGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ModifyInstanceGroups operation. The "output" return -// value will be populated with the request's response once the request completes +// ListInstancesPages iterates over the pages of a ListInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInstances method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListInstances operation. +// pageNum := 0 +// err := client.ListInstancesPages(params, +// func(page *emr.ListInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMR) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error { + return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListInstancesPagesWithContext same as ListInstancesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *EMR) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListNotebookExecutions = "ListNotebookExecutions" + +// ListNotebookExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListNotebookExecutions 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 ModifyInstanceGroups for more information on using the ModifyInstanceGroups +// See ListNotebookExecutions for more information on using the ListNotebookExecutions // 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 ModifyInstanceGroupsRequest method. -// req, resp := client.ModifyInstanceGroupsRequest(params) +// // Example sending a request using the ListNotebookExecutionsRequest method. +// req, resp := client.ListNotebookExecutionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups -func (c *EMR) ModifyInstanceGroupsRequest(input *ModifyInstanceGroupsInput) (req *request.Request, output *ModifyInstanceGroupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions +func (c *EMR) ListNotebookExecutionsRequest(input *ListNotebookExecutionsInput) (req *request.Request, output *ListNotebookExecutionsOutput) { op := &request.Operation{ - Name: opModifyInstanceGroups, + Name: opListNotebookExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &ModifyInstanceGroupsInput{} + input = &ListNotebookExecutionsInput{} } - output = &ModifyInstanceGroupsOutput{} + output = &ListNotebookExecutionsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// ModifyInstanceGroups API operation for Amazon Elastic MapReduce. +// ListNotebookExecutions API operation for Amazon Elastic MapReduce. // -// ModifyInstanceGroups modifies the number of nodes and configuration settings -// of an instance group. The input parameters include the new target instance -// count for the group and the instance group ID. The call will either succeed -// or fail atomically. +// Provides summaries of all notebook executions. You can filter the list based +// on multiple criteria such as status, time range, and editor id. Returns a +// maximum of 50 notebook executions and a marker to track the paging of a longer +// notebook execution list across multiple ListNotebookExecution calls. // // 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 Elastic MapReduce's -// API operation ModifyInstanceGroups for usage and error information. +// API operation ListNotebookExecutions for usage and error information. // // Returned Error Types: // * InternalServerError // Indicates that an error occurred while processing the request and that the // request was not completed. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups -func (c *EMR) ModifyInstanceGroups(input *ModifyInstanceGroupsInput) (*ModifyInstanceGroupsOutput, error) { - req, out := c.ModifyInstanceGroupsRequest(input) +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions +func (c *EMR) ListNotebookExecutions(input *ListNotebookExecutionsInput) (*ListNotebookExecutionsOutput, error) { + req, out := c.ListNotebookExecutionsRequest(input) return out, req.Send() } -// ModifyInstanceGroupsWithContext is the same as ModifyInstanceGroups with the addition of +// ListNotebookExecutionsWithContext is the same as ListNotebookExecutions with the addition of // the ability to pass a context and additional request options. // -// See ModifyInstanceGroups for details on how to use this API operation. +// See ListNotebookExecutions 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 *EMR) ModifyInstanceGroupsWithContext(ctx aws.Context, input *ModifyInstanceGroupsInput, opts ...request.Option) (*ModifyInstanceGroupsOutput, error) { - req, out := c.ModifyInstanceGroupsRequest(input) +func (c *EMR) ListNotebookExecutionsWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, opts ...request.Option) (*ListNotebookExecutionsOutput, error) { + req, out := c.ListNotebookExecutionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutAutoScalingPolicy = "PutAutoScalingPolicy" - -// PutAutoScalingPolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutAutoScalingPolicy 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 PutAutoScalingPolicy for more information on using the PutAutoScalingPolicy -// 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 PutAutoScalingPolicyRequest method. -// req, resp := client.PutAutoScalingPolicyRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// ListNotebookExecutionsPages iterates over the pages of a ListNotebookExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy -func (c *EMR) PutAutoScalingPolicyRequest(input *PutAutoScalingPolicyInput) (req *request.Request, output *PutAutoScalingPolicyOutput) { - op := &request.Operation{ - Name: opPutAutoScalingPolicy, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &PutAutoScalingPolicyInput{} - } - - output = &PutAutoScalingPolicyOutput{} - req = c.newRequest(op, input, output) - return -} - -// PutAutoScalingPolicy API operation for Amazon Elastic MapReduce. +// See ListNotebookExecutions method for more information on how to use this operation. // -// Creates or updates an automatic scaling policy for a core instance group -// or task instance group in an Amazon EMR cluster. The automatic scaling policy -// defines how an instance group dynamically adds and terminates EC2 instances -// in response to the value of a CloudWatch metric. +// Note: This operation can generate multiple requests to a service. // -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. +// // Example iterating over at most 3 pages of a ListNotebookExecutions operation. +// pageNum := 0 +// err := client.ListNotebookExecutionsPages(params, +// func(page *emr.ListNotebookExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) // -// See the AWS API reference guide for Amazon Elastic MapReduce's -// API operation PutAutoScalingPolicy for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy -func (c *EMR) PutAutoScalingPolicy(input *PutAutoScalingPolicyInput) (*PutAutoScalingPolicyOutput, error) { - req, out := c.PutAutoScalingPolicyRequest(input) - return out, req.Send() +func (c *EMR) ListNotebookExecutionsPages(input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool) error { + return c.ListNotebookExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// PutAutoScalingPolicyWithContext is the same as PutAutoScalingPolicy with the addition of -// the ability to pass a context and additional request options. -// -// See PutAutoScalingPolicy for details on how to use this API operation. +// ListNotebookExecutionsPagesWithContext same as ListNotebookExecutionsPages except +// it takes a Context and allows setting request options on the pages. // // 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 *EMR) PutAutoScalingPolicyWithContext(ctx aws.Context, input *PutAutoScalingPolicyInput, opts ...request.Option) (*PutAutoScalingPolicyOutput, error) { - req, out := c.PutAutoScalingPolicyRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +func (c *EMR) ListNotebookExecutionsPagesWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNotebookExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNotebookExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListNotebookExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() } -const opPutBlockPublicAccessConfiguration = "PutBlockPublicAccessConfiguration" +const opListSecurityConfigurations = "ListSecurityConfigurations" -// PutBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the PutBlockPublicAccessConfiguration operation. The "output" return +// ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListSecurityConfigurations 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 PutBlockPublicAccessConfiguration for more information on using the PutBlockPublicAccessConfiguration +// See ListSecurityConfigurations for more information on using the ListSecurityConfigurations // 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 PutBlockPublicAccessConfigurationRequest method. -// req, resp := client.PutBlockPublicAccessConfigurationRequest(params) +// // Example sending a request using the ListSecurityConfigurationsRequest method. +// req, resp := client.ListSecurityConfigurationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration -func (c *EMR) PutBlockPublicAccessConfigurationRequest(input *PutBlockPublicAccessConfigurationInput) (req *request.Request, output *PutBlockPublicAccessConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations +func (c *EMR) ListSecurityConfigurationsRequest(input *ListSecurityConfigurationsInput) (req *request.Request, output *ListSecurityConfigurationsOutput) { op := &request.Operation{ - Name: opPutBlockPublicAccessConfiguration, + Name: opListSecurityConfigurations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &PutBlockPublicAccessConfigurationInput{} + input = &ListSecurityConfigurationsInput{} } - output = &PutBlockPublicAccessConfigurationOutput{} + output = &ListSecurityConfigurationsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// PutBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. +// ListSecurityConfigurations API operation for Amazon Elastic MapReduce. // -// Creates or updates an Amazon EMR block public access configuration for your -// AWS account in the current Region. For more information see Configure Block -// Public Access for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) -// in the Amazon EMR Management Guide. +// Lists all the security configurations visible to this account, providing +// their creation dates and times, and their names. This call returns a maximum +// of 50 clusters per call, but returns a marker to track the paging of the +// cluster list across multiple ListSecurityConfigurations calls. // // 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 Elastic MapReduce's -// API operation PutBlockPublicAccessConfiguration for usage and error information. +// API operation ListSecurityConfigurations for usage and error information. // // Returned Error Types: // * InternalServerException @@ -2752,314 +2664,432 @@ func (c *EMR) PutBlockPublicAccessConfigurationRequest(input *PutBlockPublicAcce // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration -func (c *EMR) PutBlockPublicAccessConfiguration(input *PutBlockPublicAccessConfigurationInput) (*PutBlockPublicAccessConfigurationOutput, error) { - req, out := c.PutBlockPublicAccessConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations +func (c *EMR) ListSecurityConfigurations(input *ListSecurityConfigurationsInput) (*ListSecurityConfigurationsOutput, error) { + req, out := c.ListSecurityConfigurationsRequest(input) return out, req.Send() } -// PutBlockPublicAccessConfigurationWithContext is the same as PutBlockPublicAccessConfiguration with the addition of +// ListSecurityConfigurationsWithContext is the same as ListSecurityConfigurations with the addition of // the ability to pass a context and additional request options. // -// See PutBlockPublicAccessConfiguration for details on how to use this API operation. +// See ListSecurityConfigurations 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 *EMR) PutBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *PutBlockPublicAccessConfigurationInput, opts ...request.Option) (*PutBlockPublicAccessConfigurationOutput, error) { - req, out := c.PutBlockPublicAccessConfigurationRequest(input) +func (c *EMR) ListSecurityConfigurationsWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, opts ...request.Option) (*ListSecurityConfigurationsOutput, error) { + req, out := c.ListSecurityConfigurationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutManagedScalingPolicy = "PutManagedScalingPolicy" +// ListSecurityConfigurationsPages iterates over the pages of a ListSecurityConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSecurityConfigurations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSecurityConfigurations operation. +// pageNum := 0 +// err := client.ListSecurityConfigurationsPages(params, +// func(page *emr.ListSecurityConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMR) ListSecurityConfigurationsPages(input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool) error { + return c.ListSecurityConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PutManagedScalingPolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutManagedScalingPolicy operation. The "output" return +// ListSecurityConfigurationsPagesWithContext same as ListSecurityConfigurationsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *EMR) ListSecurityConfigurationsPagesWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSecurityConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSecurityConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSecurityConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSteps = "ListSteps" + +// ListStepsRequest generates a "aws/request.Request" representing the +// client's request for the ListSteps 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 PutManagedScalingPolicy for more information on using the PutManagedScalingPolicy +// See ListSteps for more information on using the ListSteps // 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 PutManagedScalingPolicyRequest method. -// req, resp := client.PutManagedScalingPolicyRequest(params) +// // Example sending a request using the ListStepsRequest method. +// req, resp := client.ListStepsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy -func (c *EMR) PutManagedScalingPolicyRequest(input *PutManagedScalingPolicyInput) (req *request.Request, output *PutManagedScalingPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps +func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, output *ListStepsOutput) { op := &request.Operation{ - Name: opPutManagedScalingPolicy, + Name: opListSteps, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &PutManagedScalingPolicyInput{} + input = &ListStepsInput{} } - output = &PutManagedScalingPolicyOutput{} + output = &ListStepsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// PutManagedScalingPolicy API operation for Amazon Elastic MapReduce. +// ListSteps API operation for Amazon Elastic MapReduce. // -// Creates or updates a managed scaling policy for an Amazon EMR cluster. The -// managed scaling policy defines the limits for resources, such as EC2 instances -// that can be added or terminated from a cluster. The policy only applies to -// the core and task nodes. The master node cannot be scaled after initial configuration. +// Provides a list of steps for the cluster in reverse order unless you specify +// stepIds with the request of filter by StepStates. You can specify a maximum +// of ten stepIDs. // // 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 Elastic MapReduce's -// API operation PutManagedScalingPolicy for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy -func (c *EMR) PutManagedScalingPolicy(input *PutManagedScalingPolicyInput) (*PutManagedScalingPolicyOutput, error) { - req, out := c.PutManagedScalingPolicyRequest(input) +// API operation ListSteps for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps +func (c *EMR) ListSteps(input *ListStepsInput) (*ListStepsOutput, error) { + req, out := c.ListStepsRequest(input) return out, req.Send() } -// PutManagedScalingPolicyWithContext is the same as PutManagedScalingPolicy with the addition of +// ListStepsWithContext is the same as ListSteps with the addition of // the ability to pass a context and additional request options. // -// See PutManagedScalingPolicy for details on how to use this API operation. +// See ListSteps 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 *EMR) PutManagedScalingPolicyWithContext(ctx aws.Context, input *PutManagedScalingPolicyInput, opts ...request.Option) (*PutManagedScalingPolicyOutput, error) { - req, out := c.PutManagedScalingPolicyRequest(input) +func (c *EMR) ListStepsWithContext(ctx aws.Context, input *ListStepsInput, opts ...request.Option) (*ListStepsOutput, error) { + req, out := c.ListStepsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRemoveAutoScalingPolicy = "RemoveAutoScalingPolicy" +// ListStepsPages iterates over the pages of a ListSteps operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSteps method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSteps operation. +// pageNum := 0 +// err := client.ListStepsPages(params, +// func(page *emr.ListStepsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMR) ListStepsPages(input *ListStepsInput, fn func(*ListStepsOutput, bool) bool) error { + return c.ListStepsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// RemoveAutoScalingPolicyRequest generates a "aws/request.Request" representing the -// client's request for the RemoveAutoScalingPolicy operation. The "output" return +// ListStepsPagesWithContext same as ListStepsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *EMR) ListStepsPagesWithContext(ctx aws.Context, input *ListStepsInput, fn func(*ListStepsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStepsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStepsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStepsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListStudioSessionMappings = "ListStudioSessionMappings" + +// ListStudioSessionMappingsRequest generates a "aws/request.Request" representing the +// client's request for the ListStudioSessionMappings 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 RemoveAutoScalingPolicy for more information on using the RemoveAutoScalingPolicy +// See ListStudioSessionMappings for more information on using the ListStudioSessionMappings // 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 RemoveAutoScalingPolicyRequest method. -// req, resp := client.RemoveAutoScalingPolicyRequest(params) +// // Example sending a request using the ListStudioSessionMappingsRequest method. +// req, resp := client.ListStudioSessionMappingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy -func (c *EMR) RemoveAutoScalingPolicyRequest(input *RemoveAutoScalingPolicyInput) (req *request.Request, output *RemoveAutoScalingPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappings +func (c *EMR) ListStudioSessionMappingsRequest(input *ListStudioSessionMappingsInput) (req *request.Request, output *ListStudioSessionMappingsOutput) { op := &request.Operation{ - Name: opRemoveAutoScalingPolicy, + Name: opListStudioSessionMappings, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &RemoveAutoScalingPolicyInput{} + input = &ListStudioSessionMappingsInput{} } - output = &RemoveAutoScalingPolicyOutput{} + output = &ListStudioSessionMappingsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// RemoveAutoScalingPolicy API operation for Amazon Elastic MapReduce. +// ListStudioSessionMappings API operation for Amazon Elastic MapReduce. // -// Removes an automatic scaling policy from a specified instance group within -// an EMR cluster. +// +// The Amazon EMR Studio APIs are in preview release for Amazon EMR and are +// subject to change. +// +// Returns a list of all user or group session mappings for the EMR Studio specified +// by StudioId. // // 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 Elastic MapReduce's -// API operation RemoveAutoScalingPolicy for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy -func (c *EMR) RemoveAutoScalingPolicy(input *RemoveAutoScalingPolicyInput) (*RemoveAutoScalingPolicyOutput, error) { - req, out := c.RemoveAutoScalingPolicyRequest(input) +// API operation ListStudioSessionMappings for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappings +func (c *EMR) ListStudioSessionMappings(input *ListStudioSessionMappingsInput) (*ListStudioSessionMappingsOutput, error) { + req, out := c.ListStudioSessionMappingsRequest(input) return out, req.Send() } -// RemoveAutoScalingPolicyWithContext is the same as RemoveAutoScalingPolicy with the addition of +// ListStudioSessionMappingsWithContext is the same as ListStudioSessionMappings with the addition of // the ability to pass a context and additional request options. // -// See RemoveAutoScalingPolicy for details on how to use this API operation. +// See ListStudioSessionMappings 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 *EMR) RemoveAutoScalingPolicyWithContext(ctx aws.Context, input *RemoveAutoScalingPolicyInput, opts ...request.Option) (*RemoveAutoScalingPolicyOutput, error) { - req, out := c.RemoveAutoScalingPolicyRequest(input) +func (c *EMR) ListStudioSessionMappingsWithContext(ctx aws.Context, input *ListStudioSessionMappingsInput, opts ...request.Option) (*ListStudioSessionMappingsOutput, error) { + req, out := c.ListStudioSessionMappingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRemoveManagedScalingPolicy = "RemoveManagedScalingPolicy" - -// RemoveManagedScalingPolicyRequest generates a "aws/request.Request" representing the -// client's request for the RemoveManagedScalingPolicy 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 RemoveManagedScalingPolicy for more information on using the RemoveManagedScalingPolicy -// 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. +// ListStudioSessionMappingsPages iterates over the pages of a ListStudioSessionMappings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // +// See ListStudioSessionMappings method for more information on how to use this operation. // -// // Example sending a request using the RemoveManagedScalingPolicyRequest method. -// req, resp := client.RemoveManagedScalingPolicyRequest(params) +// Note: This operation can generate multiple requests to a service. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// // Example iterating over at most 3 pages of a ListStudioSessionMappings operation. +// pageNum := 0 +// err := client.ListStudioSessionMappingsPages(params, +// func(page *emr.ListStudioSessionMappingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy -func (c *EMR) RemoveManagedScalingPolicyRequest(input *RemoveManagedScalingPolicyInput) (req *request.Request, output *RemoveManagedScalingPolicyOutput) { - op := &request.Operation{ - Name: opRemoveManagedScalingPolicy, - HTTPMethod: "POST", - HTTPPath: "/", - } +func (c *EMR) ListStudioSessionMappingsPages(input *ListStudioSessionMappingsInput, fn func(*ListStudioSessionMappingsOutput, bool) bool) error { + return c.ListStudioSessionMappingsPagesWithContext(aws.BackgroundContext(), input, fn) +} - if input == nil { - input = &RemoveManagedScalingPolicyInput{} - } - - output = &RemoveManagedScalingPolicyOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// RemoveManagedScalingPolicy API operation for Amazon Elastic MapReduce. -// -// Removes a managed scaling policy from a specified EMR cluster. -// -// 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 Elastic MapReduce's -// API operation RemoveManagedScalingPolicy for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy -func (c *EMR) RemoveManagedScalingPolicy(input *RemoveManagedScalingPolicyInput) (*RemoveManagedScalingPolicyOutput, error) { - req, out := c.RemoveManagedScalingPolicyRequest(input) - return out, req.Send() -} - -// RemoveManagedScalingPolicyWithContext is the same as RemoveManagedScalingPolicy with the addition of -// the ability to pass a context and additional request options. -// -// See RemoveManagedScalingPolicy for details on how to use this API operation. +// ListStudioSessionMappingsPagesWithContext same as ListStudioSessionMappingsPages except +// it takes a Context and allows setting request options on the pages. // // 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 *EMR) RemoveManagedScalingPolicyWithContext(ctx aws.Context, input *RemoveManagedScalingPolicyInput, opts ...request.Option) (*RemoveManagedScalingPolicyOutput, error) { - req, out := c.RemoveManagedScalingPolicyRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +func (c *EMR) ListStudioSessionMappingsPagesWithContext(ctx aws.Context, input *ListStudioSessionMappingsInput, fn func(*ListStudioSessionMappingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStudioSessionMappingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStudioSessionMappingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStudioSessionMappingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() } -const opRemoveTags = "RemoveTags" +const opListStudios = "ListStudios" -// RemoveTagsRequest generates a "aws/request.Request" representing the -// client's request for the RemoveTags operation. The "output" return +// ListStudiosRequest generates a "aws/request.Request" representing the +// client's request for the ListStudios 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 RemoveTags for more information on using the RemoveTags +// See ListStudios for more information on using the ListStudios // 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 RemoveTagsRequest method. -// req, resp := client.RemoveTagsRequest(params) +// // Example sending a request using the ListStudiosRequest method. +// req, resp := client.ListStudiosRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags -func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudios +func (c *EMR) ListStudiosRequest(input *ListStudiosInput) (req *request.Request, output *ListStudiosOutput) { op := &request.Operation{ - Name: opRemoveTags, + Name: opListStudios, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &RemoveTagsInput{} + input = &ListStudiosInput{} } - output = &RemoveTagsOutput{} + output = &ListStudiosOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// RemoveTags API operation for Amazon Elastic MapReduce. +// ListStudios API operation for Amazon Elastic MapReduce. // -// Removes tags from an Amazon EMR resource. Tags make it easier to associate -// clusters in various ways, such as grouping clusters to track your Amazon -// EMR resource allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). // -// The following example removes the stack tag with value Prod from a cluster: +// The Amazon EMR Studio APIs are in preview release for Amazon EMR and are +// subject to change. +// +// Returns a list of all Amazon EMR Studios associated with the AWS account. +// The list includes details such as ID, Studio Access URL, and creation time +// for each Studio. // // 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 Elastic MapReduce's -// API operation RemoveTags for usage and error information. +// API operation ListStudios for usage and error information. // // Returned Error Types: // * InternalServerException @@ -3068,613 +3098,1780 @@ func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, o // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags -func (c *EMR) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { - req, out := c.RemoveTagsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudios +func (c *EMR) ListStudios(input *ListStudiosInput) (*ListStudiosOutput, error) { + req, out := c.ListStudiosRequest(input) return out, req.Send() } -// RemoveTagsWithContext is the same as RemoveTags with the addition of +// ListStudiosWithContext is the same as ListStudios with the addition of // the ability to pass a context and additional request options. // -// See RemoveTags for details on how to use this API operation. +// See ListStudios 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 *EMR) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) { - req, out := c.RemoveTagsRequest(input) +func (c *EMR) ListStudiosWithContext(ctx aws.Context, input *ListStudiosInput, opts ...request.Option) (*ListStudiosOutput, error) { + req, out := c.ListStudiosRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRunJobFlow = "RunJobFlow" +// ListStudiosPages iterates over the pages of a ListStudios operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStudios method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListStudios operation. +// pageNum := 0 +// err := client.ListStudiosPages(params, +// func(page *emr.ListStudiosOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMR) ListStudiosPages(input *ListStudiosInput, fn func(*ListStudiosOutput, bool) bool) error { + return c.ListStudiosPagesWithContext(aws.BackgroundContext(), input, fn) +} -// RunJobFlowRequest generates a "aws/request.Request" representing the -// client's request for the RunJobFlow operation. The "output" return +// ListStudiosPagesWithContext same as ListStudiosPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *EMR) ListStudiosPagesWithContext(ctx aws.Context, input *ListStudiosInput, fn func(*ListStudiosOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStudiosInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStudiosRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStudiosOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opModifyCluster = "ModifyCluster" + +// ModifyClusterRequest generates a "aws/request.Request" representing the +// client's request for the ModifyCluster 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 RunJobFlow for more information on using the RunJobFlow +// See ModifyCluster for more information on using the ModifyCluster // 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 RunJobFlowRequest method. -// req, resp := client.RunJobFlowRequest(params) +// // Example sending a request using the ModifyClusterRequest method. +// req, resp := client.ModifyClusterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow -func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, output *RunJobFlowOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster +func (c *EMR) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) { op := &request.Operation{ - Name: opRunJobFlow, + Name: opModifyCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RunJobFlowInput{} + input = &ModifyClusterInput{} } - output = &RunJobFlowOutput{} + output = &ModifyClusterOutput{} req = c.newRequest(op, input, output) return } -// RunJobFlow API operation for Amazon Elastic MapReduce. -// -// RunJobFlow creates and starts running a new cluster (job flow). The cluster -// runs the steps specified. After the steps complete, the cluster stops and -// the HDFS partition is lost. To prevent loss of data, configure the last step -// of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig -// KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions -// to the WAITING state rather than shutting down after the steps have completed. -// -// For additional protection, you can set the JobFlowInstancesConfig TerminationProtected -// parameter to TRUE to lock the cluster and prevent it from being terminated -// by API call, user intervention, or in the event of a job flow error. -// -// A maximum of 256 steps are allowed in each job flow. -// -// If your cluster is long-running (such as a Hive data warehouse) or complex, -// you may require more than 256 steps to process your data. You can bypass -// the 256-step limitation in various ways, including using the SSH shell to -// connect to the master node and submitting queries directly to the software -// running on the master node, such as Hive and Hadoop. For more information -// on how to do this, see Add More than 256 Steps to a Cluster (https://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html) -// in the Amazon EMR Management Guide. -// -// For long running clusters, we recommend that you periodically store your -// results. +// ModifyCluster API operation for Amazon Elastic MapReduce. // -// The instance fleets configuration is available only in Amazon EMR versions -// 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain -// InstanceFleets parameters or InstanceGroups parameters, but not both. +// Modifies the number of steps that can be executed concurrently for the cluster +// specified using ClusterID. // // 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 Elastic MapReduce's -// API operation RunJobFlow for usage and error information. +// API operation ModifyCluster for usage and error information. // // Returned Error Types: // * InternalServerError // Indicates that an error occurred while processing the request and that the // request was not completed. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow -func (c *EMR) RunJobFlow(input *RunJobFlowInput) (*RunJobFlowOutput, error) { - req, out := c.RunJobFlowRequest(input) +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster +func (c *EMR) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) { + req, out := c.ModifyClusterRequest(input) return out, req.Send() } -// RunJobFlowWithContext is the same as RunJobFlow with the addition of +// ModifyClusterWithContext is the same as ModifyCluster with the addition of // the ability to pass a context and additional request options. // -// See RunJobFlow for details on how to use this API operation. +// See ModifyCluster 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 *EMR) RunJobFlowWithContext(ctx aws.Context, input *RunJobFlowInput, opts ...request.Option) (*RunJobFlowOutput, error) { - req, out := c.RunJobFlowRequest(input) +func (c *EMR) ModifyClusterWithContext(ctx aws.Context, input *ModifyClusterInput, opts ...request.Option) (*ModifyClusterOutput, error) { + req, out := c.ModifyClusterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSetTerminationProtection = "SetTerminationProtection" +const opModifyInstanceFleet = "ModifyInstanceFleet" -// SetTerminationProtectionRequest generates a "aws/request.Request" representing the -// client's request for the SetTerminationProtection operation. The "output" return +// ModifyInstanceFleetRequest generates a "aws/request.Request" representing the +// client's request for the ModifyInstanceFleet 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 SetTerminationProtection for more information on using the SetTerminationProtection +// See ModifyInstanceFleet for more information on using the ModifyInstanceFleet // 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 SetTerminationProtectionRequest method. -// req, resp := client.SetTerminationProtectionRequest(params) +// // Example sending a request using the ModifyInstanceFleetRequest method. +// req, resp := client.ModifyInstanceFleetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection -func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInput) (req *request.Request, output *SetTerminationProtectionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet +func (c *EMR) ModifyInstanceFleetRequest(input *ModifyInstanceFleetInput) (req *request.Request, output *ModifyInstanceFleetOutput) { op := &request.Operation{ - Name: opSetTerminationProtection, + Name: opModifyInstanceFleet, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SetTerminationProtectionInput{} + input = &ModifyInstanceFleetInput{} } - output = &SetTerminationProtectionOutput{} + output = &ModifyInstanceFleetOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// SetTerminationProtection API operation for Amazon Elastic MapReduce. -// -// SetTerminationProtection locks a cluster (job flow) so the EC2 instances -// in the cluster cannot be terminated by user intervention, an API call, or -// in the event of a job-flow error. The cluster still terminates upon successful -// completion of the job flow. Calling SetTerminationProtection on a cluster -// is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 -// instances in a cluster. -// -// SetTerminationProtection is used to prevent accidental termination of a cluster -// and to ensure that in the event of an error, the instances persist so that -// you can recover any data stored in their ephemeral instance storage. +// ModifyInstanceFleet API operation for Amazon Elastic MapReduce. // -// To terminate a cluster that has been locked by setting SetTerminationProtection -// to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection -// in which you set the value to false. +// Modifies the target On-Demand and target Spot capacities for the instance +// fleet with the specified InstanceFleetID within the cluster specified using +// ClusterID. The call either succeeds or fails atomically. // -// For more information, seeManaging Cluster Termination (https://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_TerminationProtection.html) -// in the Amazon EMR Management Guide. +// The instance fleet configuration is available only in Amazon EMR versions +// 4.8.0 and later, excluding 5.0.x versions. // // 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 Elastic MapReduce's -// API operation SetTerminationProtection for usage and error information. +// API operation ModifyInstanceFleet for usage and error information. // // Returned Error Types: -// * InternalServerError -// Indicates that an error occurred while processing the request and that the -// request was not completed. +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection -func (c *EMR) SetTerminationProtection(input *SetTerminationProtectionInput) (*SetTerminationProtectionOutput, error) { - req, out := c.SetTerminationProtectionRequest(input) - return out, req.Send() -} - -// SetTerminationProtectionWithContext is the same as SetTerminationProtection with the addition of -// the ability to pass a context and additional request options. +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. // -// See SetTerminationProtection for details on how to use this API operation. +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet +func (c *EMR) ModifyInstanceFleet(input *ModifyInstanceFleetInput) (*ModifyInstanceFleetOutput, error) { + req, out := c.ModifyInstanceFleetRequest(input) + return out, req.Send() +} + +// ModifyInstanceFleetWithContext is the same as ModifyInstanceFleet with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyInstanceFleet 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 *EMR) SetTerminationProtectionWithContext(ctx aws.Context, input *SetTerminationProtectionInput, opts ...request.Option) (*SetTerminationProtectionOutput, error) { - req, out := c.SetTerminationProtectionRequest(input) +func (c *EMR) ModifyInstanceFleetWithContext(ctx aws.Context, input *ModifyInstanceFleetInput, opts ...request.Option) (*ModifyInstanceFleetOutput, error) { + req, out := c.ModifyInstanceFleetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSetVisibleToAllUsers = "SetVisibleToAllUsers" +const opModifyInstanceGroups = "ModifyInstanceGroups" -// SetVisibleToAllUsersRequest generates a "aws/request.Request" representing the -// client's request for the SetVisibleToAllUsers operation. The "output" return +// ModifyInstanceGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ModifyInstanceGroups 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 SetVisibleToAllUsers for more information on using the SetVisibleToAllUsers +// See ModifyInstanceGroups for more information on using the ModifyInstanceGroups // 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 SetVisibleToAllUsersRequest method. -// req, resp := client.SetVisibleToAllUsersRequest(params) +// // Example sending a request using the ModifyInstanceGroupsRequest method. +// req, resp := client.ModifyInstanceGroupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers -func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req *request.Request, output *SetVisibleToAllUsersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups +func (c *EMR) ModifyInstanceGroupsRequest(input *ModifyInstanceGroupsInput) (req *request.Request, output *ModifyInstanceGroupsOutput) { op := &request.Operation{ - Name: opSetVisibleToAllUsers, + Name: opModifyInstanceGroups, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SetVisibleToAllUsersInput{} + input = &ModifyInstanceGroupsInput{} } - output = &SetVisibleToAllUsersOutput{} + output = &ModifyInstanceGroupsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// SetVisibleToAllUsers API operation for Amazon Elastic MapReduce. +// ModifyInstanceGroups API operation for Amazon Elastic MapReduce. // -// Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster -// is visible to all IAM users of the AWS account associated with the cluster. -// Only the IAM user who created the cluster or the AWS account root user can -// call this action. The default value, true, indicates that all IAM users in -// the AWS account can perform cluster actions if they have the proper IAM policy -// permissions. If set to false, only the IAM user that created the cluster -// can perform actions. This action works on running clusters. You can override -// the default true setting when you create a cluster by using the VisibleToAllUsers -// parameter with RunJobFlow. +// ModifyInstanceGroups modifies the number of nodes and configuration settings +// of an instance group. The input parameters include the new target instance +// count for the group and the instance group ID. The call will either succeed +// or fail atomically. // // 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 Elastic MapReduce's -// API operation SetVisibleToAllUsers for usage and error information. +// API operation ModifyInstanceGroups for usage and error information. // // Returned Error Types: // * InternalServerError // Indicates that an error occurred while processing the request and that the // request was not completed. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers -func (c *EMR) SetVisibleToAllUsers(input *SetVisibleToAllUsersInput) (*SetVisibleToAllUsersOutput, error) { - req, out := c.SetVisibleToAllUsersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups +func (c *EMR) ModifyInstanceGroups(input *ModifyInstanceGroupsInput) (*ModifyInstanceGroupsOutput, error) { + req, out := c.ModifyInstanceGroupsRequest(input) return out, req.Send() } -// SetVisibleToAllUsersWithContext is the same as SetVisibleToAllUsers with the addition of +// ModifyInstanceGroupsWithContext is the same as ModifyInstanceGroups with the addition of // the ability to pass a context and additional request options. // -// See SetVisibleToAllUsers for details on how to use this API operation. +// See ModifyInstanceGroups 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 *EMR) SetVisibleToAllUsersWithContext(ctx aws.Context, input *SetVisibleToAllUsersInput, opts ...request.Option) (*SetVisibleToAllUsersOutput, error) { - req, out := c.SetVisibleToAllUsersRequest(input) +func (c *EMR) ModifyInstanceGroupsWithContext(ctx aws.Context, input *ModifyInstanceGroupsInput, opts ...request.Option) (*ModifyInstanceGroupsOutput, error) { + req, out := c.ModifyInstanceGroupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartNotebookExecution = "StartNotebookExecution" +const opPutAutoScalingPolicy = "PutAutoScalingPolicy" -// StartNotebookExecutionRequest generates a "aws/request.Request" representing the -// client's request for the StartNotebookExecution operation. The "output" return +// PutAutoScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutAutoScalingPolicy 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 StartNotebookExecution for more information on using the StartNotebookExecution +// See PutAutoScalingPolicy for more information on using the PutAutoScalingPolicy // 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 StartNotebookExecutionRequest method. -// req, resp := client.StartNotebookExecutionRequest(params) +// // Example sending a request using the PutAutoScalingPolicyRequest method. +// req, resp := client.PutAutoScalingPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution -func (c *EMR) StartNotebookExecutionRequest(input *StartNotebookExecutionInput) (req *request.Request, output *StartNotebookExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy +func (c *EMR) PutAutoScalingPolicyRequest(input *PutAutoScalingPolicyInput) (req *request.Request, output *PutAutoScalingPolicyOutput) { op := &request.Operation{ - Name: opStartNotebookExecution, + Name: opPutAutoScalingPolicy, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartNotebookExecutionInput{} + input = &PutAutoScalingPolicyInput{} } - output = &StartNotebookExecutionOutput{} + output = &PutAutoScalingPolicyOutput{} req = c.newRequest(op, input, output) return } -// StartNotebookExecution API operation for Amazon Elastic MapReduce. +// PutAutoScalingPolicy API operation for Amazon Elastic MapReduce. // -// Starts a notebook execution. +// Creates or updates an automatic scaling policy for a core instance group +// or task instance group in an Amazon EMR cluster. The automatic scaling policy +// defines how an instance group dynamically adds and terminates EC2 instances +// in response to the value of a CloudWatch metric. // // 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 Elastic MapReduce's -// API operation StartNotebookExecution for usage and error information. -// -// Returned Error Types: -// * InternalServerException -// This exception occurs when there is an internal failure in the EMR service. -// -// * InvalidRequestException -// This exception occurs when there is something wrong with user input. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution -func (c *EMR) StartNotebookExecution(input *StartNotebookExecutionInput) (*StartNotebookExecutionOutput, error) { - req, out := c.StartNotebookExecutionRequest(input) +// API operation PutAutoScalingPolicy for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy +func (c *EMR) PutAutoScalingPolicy(input *PutAutoScalingPolicyInput) (*PutAutoScalingPolicyOutput, error) { + req, out := c.PutAutoScalingPolicyRequest(input) return out, req.Send() } -// StartNotebookExecutionWithContext is the same as StartNotebookExecution with the addition of +// PutAutoScalingPolicyWithContext is the same as PutAutoScalingPolicy with the addition of // the ability to pass a context and additional request options. // -// See StartNotebookExecution for details on how to use this API operation. +// See PutAutoScalingPolicy 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 *EMR) StartNotebookExecutionWithContext(ctx aws.Context, input *StartNotebookExecutionInput, opts ...request.Option) (*StartNotebookExecutionOutput, error) { - req, out := c.StartNotebookExecutionRequest(input) +func (c *EMR) PutAutoScalingPolicyWithContext(ctx aws.Context, input *PutAutoScalingPolicyInput, opts ...request.Option) (*PutAutoScalingPolicyOutput, error) { + req, out := c.PutAutoScalingPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopNotebookExecution = "StopNotebookExecution" +const opPutBlockPublicAccessConfiguration = "PutBlockPublicAccessConfiguration" -// StopNotebookExecutionRequest generates a "aws/request.Request" representing the -// client's request for the StopNotebookExecution operation. The "output" return +// PutBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutBlockPublicAccessConfiguration 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 StopNotebookExecution for more information on using the StopNotebookExecution +// See PutBlockPublicAccessConfiguration for more information on using the PutBlockPublicAccessConfiguration // 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 StopNotebookExecutionRequest method. -// req, resp := client.StopNotebookExecutionRequest(params) +// // Example sending a request using the PutBlockPublicAccessConfigurationRequest method. +// req, resp := client.PutBlockPublicAccessConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution -func (c *EMR) StopNotebookExecutionRequest(input *StopNotebookExecutionInput) (req *request.Request, output *StopNotebookExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration +func (c *EMR) PutBlockPublicAccessConfigurationRequest(input *PutBlockPublicAccessConfigurationInput) (req *request.Request, output *PutBlockPublicAccessConfigurationOutput) { op := &request.Operation{ - Name: opStopNotebookExecution, + Name: opPutBlockPublicAccessConfiguration, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopNotebookExecutionInput{} + input = &PutBlockPublicAccessConfigurationInput{} } - output = &StopNotebookExecutionOutput{} + output = &PutBlockPublicAccessConfigurationOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StopNotebookExecution API operation for Amazon Elastic MapReduce. +// PutBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. // -// Stops a notebook execution. +// Creates or updates an Amazon EMR block public access configuration for your +// AWS account in the current Region. For more information see Configure Block +// Public Access for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) +// in the Amazon EMR Management Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Elastic MapReduce's -// API operation StopNotebookExecution for usage and error information. +// API operation PutBlockPublicAccessConfiguration for usage and error information. // // Returned Error Types: -// * InternalServerError -// Indicates that an error occurred while processing the request and that the -// request was not completed. +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. // // * InvalidRequestException // This exception occurs when there is something wrong with user input. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution -func (c *EMR) StopNotebookExecution(input *StopNotebookExecutionInput) (*StopNotebookExecutionOutput, error) { - req, out := c.StopNotebookExecutionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration +func (c *EMR) PutBlockPublicAccessConfiguration(input *PutBlockPublicAccessConfigurationInput) (*PutBlockPublicAccessConfigurationOutput, error) { + req, out := c.PutBlockPublicAccessConfigurationRequest(input) return out, req.Send() } -// StopNotebookExecutionWithContext is the same as StopNotebookExecution with the addition of +// PutBlockPublicAccessConfigurationWithContext is the same as PutBlockPublicAccessConfiguration with the addition of // the ability to pass a context and additional request options. // -// See StopNotebookExecution for details on how to use this API operation. +// See PutBlockPublicAccessConfiguration 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 *EMR) StopNotebookExecutionWithContext(ctx aws.Context, input *StopNotebookExecutionInput, opts ...request.Option) (*StopNotebookExecutionOutput, error) { - req, out := c.StopNotebookExecutionRequest(input) +func (c *EMR) PutBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *PutBlockPublicAccessConfigurationInput, opts ...request.Option) (*PutBlockPublicAccessConfigurationOutput, error) { + req, out := c.PutBlockPublicAccessConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTerminateJobFlows = "TerminateJobFlows" +const opPutManagedScalingPolicy = "PutManagedScalingPolicy" -// TerminateJobFlowsRequest generates a "aws/request.Request" representing the -// client's request for the TerminateJobFlows operation. The "output" return +// PutManagedScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutManagedScalingPolicy 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 TerminateJobFlows for more information on using the TerminateJobFlows +// See PutManagedScalingPolicy for more information on using the PutManagedScalingPolicy // 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 TerminateJobFlowsRequest method. -// req, resp := client.TerminateJobFlowsRequest(params) +// // Example sending a request using the PutManagedScalingPolicyRequest method. +// req, resp := client.PutManagedScalingPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows -func (c *EMR) TerminateJobFlowsRequest(input *TerminateJobFlowsInput) (req *request.Request, output *TerminateJobFlowsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy +func (c *EMR) PutManagedScalingPolicyRequest(input *PutManagedScalingPolicyInput) (req *request.Request, output *PutManagedScalingPolicyOutput) { op := &request.Operation{ - Name: opTerminateJobFlows, + Name: opPutManagedScalingPolicy, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TerminateJobFlowsInput{} + input = &PutManagedScalingPolicyInput{} } - output = &TerminateJobFlowsOutput{} + output = &PutManagedScalingPolicyOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TerminateJobFlows API operation for Amazon Elastic MapReduce. -// -// TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow -// is shut down, any step not yet completed is canceled and the EC2 instances -// on which the cluster is running are stopped. Any log files not already saved -// are uploaded to Amazon S3 if a LogUri was specified when the cluster was -// created. +// PutManagedScalingPolicy API operation for Amazon Elastic MapReduce. // -// The maximum number of clusters allowed is 10. The call to TerminateJobFlows -// is asynchronous. Depending on the configuration of the cluster, it may take -// up to 1-5 minutes for the cluster to completely terminate and release allocated -// resources, such as Amazon EC2 instances. +// Creates or updates a managed scaling policy for an Amazon EMR cluster. The +// managed scaling policy defines the limits for resources, such as EC2 instances +// that can be added or terminated from a cluster. The policy only applies to +// the core and task nodes. The master node cannot be scaled after initial configuration. // // 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 Elastic MapReduce's -// API operation TerminateJobFlows for usage and error information. -// -// Returned Error Types: -// * InternalServerError -// Indicates that an error occurred while processing the request and that the -// request was not completed. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows -func (c *EMR) TerminateJobFlows(input *TerminateJobFlowsInput) (*TerminateJobFlowsOutput, error) { - req, out := c.TerminateJobFlowsRequest(input) +// API operation PutManagedScalingPolicy for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy +func (c *EMR) PutManagedScalingPolicy(input *PutManagedScalingPolicyInput) (*PutManagedScalingPolicyOutput, error) { + req, out := c.PutManagedScalingPolicyRequest(input) return out, req.Send() } -// TerminateJobFlowsWithContext is the same as TerminateJobFlows with the addition of +// PutManagedScalingPolicyWithContext is the same as PutManagedScalingPolicy with the addition of // the ability to pass a context and additional request options. // -// See TerminateJobFlows for details on how to use this API operation. +// See PutManagedScalingPolicy 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 *EMR) TerminateJobFlowsWithContext(ctx aws.Context, input *TerminateJobFlowsInput, opts ...request.Option) (*TerminateJobFlowsOutput, error) { - req, out := c.TerminateJobFlowsRequest(input) +func (c *EMR) PutManagedScalingPolicyWithContext(ctx aws.Context, input *PutManagedScalingPolicyInput, opts ...request.Option) (*PutManagedScalingPolicyOutput, error) { + req, out := c.PutManagedScalingPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -type AddInstanceFleetInput struct { - _ struct{} `type:"structure"` - - // The unique identifier of the cluster. - // - // ClusterId is a required field - ClusterId *string `type:"string" required:"true"` - - // Specifies the configuration of the instance fleet. - // - // InstanceFleet is a required field - InstanceFleet *InstanceFleetConfig `type:"structure" required:"true"` -} - -// String returns the string representation -func (s AddInstanceFleetInput) String() string { - return awsutil.Prettify(s) -} +const opRemoveAutoScalingPolicy = "RemoveAutoScalingPolicy" -// GoString returns the string representation -func (s AddInstanceFleetInput) GoString() string { - return s.String() -} +// RemoveAutoScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the RemoveAutoScalingPolicy 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 RemoveAutoScalingPolicy for more information on using the RemoveAutoScalingPolicy +// 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 RemoveAutoScalingPolicyRequest method. +// req, resp := client.RemoveAutoScalingPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy +func (c *EMR) RemoveAutoScalingPolicyRequest(input *RemoveAutoScalingPolicyInput) (req *request.Request, output *RemoveAutoScalingPolicyOutput) { + op := &request.Operation{ + Name: opRemoveAutoScalingPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveAutoScalingPolicyInput{} + } + + output = &RemoveAutoScalingPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RemoveAutoScalingPolicy API operation for Amazon Elastic MapReduce. +// +// Removes an automatic scaling policy from a specified instance group within +// an EMR cluster. +// +// 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 Elastic MapReduce's +// API operation RemoveAutoScalingPolicy for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy +func (c *EMR) RemoveAutoScalingPolicy(input *RemoveAutoScalingPolicyInput) (*RemoveAutoScalingPolicyOutput, error) { + req, out := c.RemoveAutoScalingPolicyRequest(input) + return out, req.Send() +} + +// RemoveAutoScalingPolicyWithContext is the same as RemoveAutoScalingPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveAutoScalingPolicy 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 *EMR) RemoveAutoScalingPolicyWithContext(ctx aws.Context, input *RemoveAutoScalingPolicyInput, opts ...request.Option) (*RemoveAutoScalingPolicyOutput, error) { + req, out := c.RemoveAutoScalingPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRemoveManagedScalingPolicy = "RemoveManagedScalingPolicy" + +// RemoveManagedScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the RemoveManagedScalingPolicy 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 RemoveManagedScalingPolicy for more information on using the RemoveManagedScalingPolicy +// 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 RemoveManagedScalingPolicyRequest method. +// req, resp := client.RemoveManagedScalingPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy +func (c *EMR) RemoveManagedScalingPolicyRequest(input *RemoveManagedScalingPolicyInput) (req *request.Request, output *RemoveManagedScalingPolicyOutput) { + op := &request.Operation{ + Name: opRemoveManagedScalingPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveManagedScalingPolicyInput{} + } + + output = &RemoveManagedScalingPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RemoveManagedScalingPolicy API operation for Amazon Elastic MapReduce. +// +// Removes a managed scaling policy from a specified EMR cluster. +// +// 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 Elastic MapReduce's +// API operation RemoveManagedScalingPolicy for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy +func (c *EMR) RemoveManagedScalingPolicy(input *RemoveManagedScalingPolicyInput) (*RemoveManagedScalingPolicyOutput, error) { + req, out := c.RemoveManagedScalingPolicyRequest(input) + return out, req.Send() +} + +// RemoveManagedScalingPolicyWithContext is the same as RemoveManagedScalingPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveManagedScalingPolicy 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 *EMR) RemoveManagedScalingPolicyWithContext(ctx aws.Context, input *RemoveManagedScalingPolicyInput, opts ...request.Option) (*RemoveManagedScalingPolicyOutput, error) { + req, out := c.RemoveManagedScalingPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRemoveTags = "RemoveTags" + +// RemoveTagsRequest generates a "aws/request.Request" representing the +// client's request for the RemoveTags 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 RemoveTags for more information on using the RemoveTags +// 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 RemoveTagsRequest method. +// req, resp := client.RemoveTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags +func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { + op := &request.Operation{ + Name: opRemoveTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveTagsInput{} + } + + output = &RemoveTagsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RemoveTags API operation for Amazon Elastic MapReduce. +// +// Removes tags from an Amazon EMR resource. Tags make it easier to associate +// clusters in various ways, such as grouping clusters to track your Amazon +// EMR resource allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). +// +// The following example removes the stack tag with value Prod from a cluster: +// +// 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 Elastic MapReduce's +// API operation RemoveTags for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags +func (c *EMR) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { + req, out := c.RemoveTagsRequest(input) + return out, req.Send() +} + +// RemoveTagsWithContext is the same as RemoveTags with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveTags 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 *EMR) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) { + req, out := c.RemoveTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRunJobFlow = "RunJobFlow" + +// RunJobFlowRequest generates a "aws/request.Request" representing the +// client's request for the RunJobFlow 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 RunJobFlow for more information on using the RunJobFlow +// 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 RunJobFlowRequest method. +// req, resp := client.RunJobFlowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow +func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, output *RunJobFlowOutput) { + op := &request.Operation{ + Name: opRunJobFlow, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RunJobFlowInput{} + } + + output = &RunJobFlowOutput{} + req = c.newRequest(op, input, output) + return +} + +// RunJobFlow API operation for Amazon Elastic MapReduce. +// +// RunJobFlow creates and starts running a new cluster (job flow). The cluster +// runs the steps specified. After the steps complete, the cluster stops and +// the HDFS partition is lost. To prevent loss of data, configure the last step +// of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig +// KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions +// to the WAITING state rather than shutting down after the steps have completed. +// +// For additional protection, you can set the JobFlowInstancesConfig TerminationProtected +// parameter to TRUE to lock the cluster and prevent it from being terminated +// by API call, user intervention, or in the event of a job flow error. +// +// A maximum of 256 steps are allowed in each job flow. +// +// If your cluster is long-running (such as a Hive data warehouse) or complex, +// you may require more than 256 steps to process your data. You can bypass +// the 256-step limitation in various ways, including using the SSH shell to +// connect to the master node and submitting queries directly to the software +// running on the master node, such as Hive and Hadoop. For more information +// on how to do this, see Add More than 256 Steps to a Cluster (https://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html) +// in the Amazon EMR Management Guide. +// +// For long running clusters, we recommend that you periodically store your +// results. +// +// The instance fleets configuration is available only in Amazon EMR versions +// 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain +// InstanceFleets parameters or InstanceGroups parameters, but not both. +// +// 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 Elastic MapReduce's +// API operation RunJobFlow for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow +func (c *EMR) RunJobFlow(input *RunJobFlowInput) (*RunJobFlowOutput, error) { + req, out := c.RunJobFlowRequest(input) + return out, req.Send() +} + +// RunJobFlowWithContext is the same as RunJobFlow with the addition of +// the ability to pass a context and additional request options. +// +// See RunJobFlow 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 *EMR) RunJobFlowWithContext(ctx aws.Context, input *RunJobFlowInput, opts ...request.Option) (*RunJobFlowOutput, error) { + req, out := c.RunJobFlowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetTerminationProtection = "SetTerminationProtection" + +// SetTerminationProtectionRequest generates a "aws/request.Request" representing the +// client's request for the SetTerminationProtection 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 SetTerminationProtection for more information on using the SetTerminationProtection +// 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 SetTerminationProtectionRequest method. +// req, resp := client.SetTerminationProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection +func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInput) (req *request.Request, output *SetTerminationProtectionOutput) { + op := &request.Operation{ + Name: opSetTerminationProtection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetTerminationProtectionInput{} + } + + output = &SetTerminationProtectionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SetTerminationProtection API operation for Amazon Elastic MapReduce. +// +// SetTerminationProtection locks a cluster (job flow) so the EC2 instances +// in the cluster cannot be terminated by user intervention, an API call, or +// in the event of a job-flow error. The cluster still terminates upon successful +// completion of the job flow. Calling SetTerminationProtection on a cluster +// is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 +// instances in a cluster. +// +// SetTerminationProtection is used to prevent accidental termination of a cluster +// and to ensure that in the event of an error, the instances persist so that +// you can recover any data stored in their ephemeral instance storage. +// +// To terminate a cluster that has been locked by setting SetTerminationProtection +// to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection +// in which you set the value to false. +// +// For more information, seeManaging Cluster Termination (https://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_TerminationProtection.html) +// in the Amazon EMR Management Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation SetTerminationProtection for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection +func (c *EMR) SetTerminationProtection(input *SetTerminationProtectionInput) (*SetTerminationProtectionOutput, error) { + req, out := c.SetTerminationProtectionRequest(input) + return out, req.Send() +} + +// SetTerminationProtectionWithContext is the same as SetTerminationProtection with the addition of +// the ability to pass a context and additional request options. +// +// See SetTerminationProtection 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 *EMR) SetTerminationProtectionWithContext(ctx aws.Context, input *SetTerminationProtectionInput, opts ...request.Option) (*SetTerminationProtectionOutput, error) { + req, out := c.SetTerminationProtectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetVisibleToAllUsers = "SetVisibleToAllUsers" + +// SetVisibleToAllUsersRequest generates a "aws/request.Request" representing the +// client's request for the SetVisibleToAllUsers 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 SetVisibleToAllUsers for more information on using the SetVisibleToAllUsers +// 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 SetVisibleToAllUsersRequest method. +// req, resp := client.SetVisibleToAllUsersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers +func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req *request.Request, output *SetVisibleToAllUsersOutput) { + op := &request.Operation{ + Name: opSetVisibleToAllUsers, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetVisibleToAllUsersInput{} + } + + output = &SetVisibleToAllUsersOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SetVisibleToAllUsers API operation for Amazon Elastic MapReduce. +// +// Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster +// is visible to all IAM users of the AWS account associated with the cluster. +// Only the IAM user who created the cluster or the AWS account root user can +// call this action. The default value, true, indicates that all IAM users in +// the AWS account can perform cluster actions if they have the proper IAM policy +// permissions. If set to false, only the IAM user that created the cluster +// can perform actions. This action works on running clusters. You can override +// the default true setting when you create a cluster by using the VisibleToAllUsers +// parameter with RunJobFlow. +// +// 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 Elastic MapReduce's +// API operation SetVisibleToAllUsers for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers +func (c *EMR) SetVisibleToAllUsers(input *SetVisibleToAllUsersInput) (*SetVisibleToAllUsersOutput, error) { + req, out := c.SetVisibleToAllUsersRequest(input) + return out, req.Send() +} + +// SetVisibleToAllUsersWithContext is the same as SetVisibleToAllUsers with the addition of +// the ability to pass a context and additional request options. +// +// See SetVisibleToAllUsers 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 *EMR) SetVisibleToAllUsersWithContext(ctx aws.Context, input *SetVisibleToAllUsersInput, opts ...request.Option) (*SetVisibleToAllUsersOutput, error) { + req, out := c.SetVisibleToAllUsersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartNotebookExecution = "StartNotebookExecution" + +// StartNotebookExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StartNotebookExecution 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 StartNotebookExecution for more information on using the StartNotebookExecution +// 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 StartNotebookExecutionRequest method. +// req, resp := client.StartNotebookExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution +func (c *EMR) StartNotebookExecutionRequest(input *StartNotebookExecutionInput) (req *request.Request, output *StartNotebookExecutionOutput) { + op := &request.Operation{ + Name: opStartNotebookExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartNotebookExecutionInput{} + } + + output = &StartNotebookExecutionOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartNotebookExecution API operation for Amazon Elastic MapReduce. +// +// Starts a notebook execution. +// +// 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 Elastic MapReduce's +// API operation StartNotebookExecution for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution +func (c *EMR) StartNotebookExecution(input *StartNotebookExecutionInput) (*StartNotebookExecutionOutput, error) { + req, out := c.StartNotebookExecutionRequest(input) + return out, req.Send() +} + +// StartNotebookExecutionWithContext is the same as StartNotebookExecution with the addition of +// the ability to pass a context and additional request options. +// +// See StartNotebookExecution 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 *EMR) StartNotebookExecutionWithContext(ctx aws.Context, input *StartNotebookExecutionInput, opts ...request.Option) (*StartNotebookExecutionOutput, error) { + req, out := c.StartNotebookExecutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopNotebookExecution = "StopNotebookExecution" + +// StopNotebookExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StopNotebookExecution 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 StopNotebookExecution for more information on using the StopNotebookExecution +// 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 StopNotebookExecutionRequest method. +// req, resp := client.StopNotebookExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution +func (c *EMR) StopNotebookExecutionRequest(input *StopNotebookExecutionInput) (req *request.Request, output *StopNotebookExecutionOutput) { + op := &request.Operation{ + Name: opStopNotebookExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopNotebookExecutionInput{} + } + + output = &StopNotebookExecutionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopNotebookExecution API operation for Amazon Elastic MapReduce. +// +// Stops a notebook execution. +// +// 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 Elastic MapReduce's +// API operation StopNotebookExecution for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution +func (c *EMR) StopNotebookExecution(input *StopNotebookExecutionInput) (*StopNotebookExecutionOutput, error) { + req, out := c.StopNotebookExecutionRequest(input) + return out, req.Send() +} + +// StopNotebookExecutionWithContext is the same as StopNotebookExecution with the addition of +// the ability to pass a context and additional request options. +// +// See StopNotebookExecution 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 *EMR) StopNotebookExecutionWithContext(ctx aws.Context, input *StopNotebookExecutionInput, opts ...request.Option) (*StopNotebookExecutionOutput, error) { + req, out := c.StopNotebookExecutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTerminateJobFlows = "TerminateJobFlows" + +// TerminateJobFlowsRequest generates a "aws/request.Request" representing the +// client's request for the TerminateJobFlows 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 TerminateJobFlows for more information on using the TerminateJobFlows +// 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 TerminateJobFlowsRequest method. +// req, resp := client.TerminateJobFlowsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows +func (c *EMR) TerminateJobFlowsRequest(input *TerminateJobFlowsInput) (req *request.Request, output *TerminateJobFlowsOutput) { + op := &request.Operation{ + Name: opTerminateJobFlows, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TerminateJobFlowsInput{} + } + + output = &TerminateJobFlowsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TerminateJobFlows API operation for Amazon Elastic MapReduce. +// +// TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow +// is shut down, any step not yet completed is canceled and the EC2 instances +// on which the cluster is running are stopped. Any log files not already saved +// are uploaded to Amazon S3 if a LogUri was specified when the cluster was +// created. +// +// The maximum number of clusters allowed is 10. The call to TerminateJobFlows +// is asynchronous. Depending on the configuration of the cluster, it may take +// up to 1-5 minutes for the cluster to completely terminate and release allocated +// resources, such as Amazon EC2 instances. +// +// 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 Elastic MapReduce's +// API operation TerminateJobFlows for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows +func (c *EMR) TerminateJobFlows(input *TerminateJobFlowsInput) (*TerminateJobFlowsOutput, error) { + req, out := c.TerminateJobFlowsRequest(input) + return out, req.Send() +} + +// TerminateJobFlowsWithContext is the same as TerminateJobFlows with the addition of +// the ability to pass a context and additional request options. +// +// See TerminateJobFlows 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 *EMR) TerminateJobFlowsWithContext(ctx aws.Context, input *TerminateJobFlowsInput, opts ...request.Option) (*TerminateJobFlowsOutput, error) { + req, out := c.TerminateJobFlowsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateStudioSessionMapping = "UpdateStudioSessionMapping" + +// UpdateStudioSessionMappingRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStudioSessionMapping 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 UpdateStudioSessionMapping for more information on using the UpdateStudioSessionMapping +// 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 UpdateStudioSessionMappingRequest method. +// req, resp := client.UpdateStudioSessionMappingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioSessionMapping +func (c *EMR) UpdateStudioSessionMappingRequest(input *UpdateStudioSessionMappingInput) (req *request.Request, output *UpdateStudioSessionMappingOutput) { + op := &request.Operation{ + Name: opUpdateStudioSessionMapping, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateStudioSessionMappingInput{} + } + + output = &UpdateStudioSessionMappingOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateStudioSessionMapping API operation for Amazon Elastic MapReduce. +// +// +// The Amazon EMR Studio APIs are in preview release for Amazon EMR and are +// subject to change. +// +// Updates the session policy attached to the user or group for the specified +// Amazon EMR Studio. +// +// 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 Elastic MapReduce's +// API operation UpdateStudioSessionMapping for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioSessionMapping +func (c *EMR) UpdateStudioSessionMapping(input *UpdateStudioSessionMappingInput) (*UpdateStudioSessionMappingOutput, error) { + req, out := c.UpdateStudioSessionMappingRequest(input) + return out, req.Send() +} + +// UpdateStudioSessionMappingWithContext is the same as UpdateStudioSessionMapping with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStudioSessionMapping 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 *EMR) UpdateStudioSessionMappingWithContext(ctx aws.Context, input *UpdateStudioSessionMappingInput, opts ...request.Option) (*UpdateStudioSessionMappingOutput, error) { + req, out := c.UpdateStudioSessionMappingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AddInstanceFleetInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the cluster. + // + // ClusterId is a required field + ClusterId *string `type:"string" required:"true"` + + // Specifies the configuration of the instance fleet. + // + // InstanceFleet is a required field + InstanceFleet *InstanceFleetConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AddInstanceFleetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddInstanceFleetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddInstanceFleetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddInstanceFleetInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + if s.InstanceFleet == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) + } + if s.InstanceFleet != nil { + if err := s.InstanceFleet.Validate(); err != nil { + invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *AddInstanceFleetInput) SetClusterId(v string) *AddInstanceFleetInput { + s.ClusterId = &v + return s +} + +// SetInstanceFleet sets the InstanceFleet field's value. +func (s *AddInstanceFleetInput) SetInstanceFleet(v *InstanceFleetConfig) *AddInstanceFleetInput { + s.InstanceFleet = v + return s +} + +type AddInstanceFleetOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the cluster. + ClusterArn *string `min:"20" type:"string"` + + // The unique identifier of the cluster. + ClusterId *string `type:"string"` + + // The unique identifier of the instance fleet. + InstanceFleetId *string `type:"string"` +} + +// String returns the string representation +func (s AddInstanceFleetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddInstanceFleetOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *AddInstanceFleetOutput) SetClusterArn(v string) *AddInstanceFleetOutput { + s.ClusterArn = &v + return s +} + +// SetClusterId sets the ClusterId field's value. +func (s *AddInstanceFleetOutput) SetClusterId(v string) *AddInstanceFleetOutput { + s.ClusterId = &v + return s +} + +// SetInstanceFleetId sets the InstanceFleetId field's value. +func (s *AddInstanceFleetOutput) SetInstanceFleetId(v string) *AddInstanceFleetOutput { + s.InstanceFleetId = &v + return s +} + +// Input to an AddInstanceGroups call. +type AddInstanceGroupsInput struct { + _ struct{} `type:"structure"` + + // Instance groups to add. + // + // InstanceGroups is a required field + InstanceGroups []*InstanceGroupConfig `type:"list" required:"true"` + + // Job flow in which to add the instance groups. + // + // JobFlowId is a required field + JobFlowId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AddInstanceGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddInstanceGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddInstanceGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddInstanceGroupsInput"} + if s.InstanceGroups == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceGroups")) + } + if s.JobFlowId == nil { + invalidParams.Add(request.NewErrParamRequired("JobFlowId")) + } + if s.InstanceGroups != nil { + for i, v := range s.InstanceGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceGroups sets the InstanceGroups field's value. +func (s *AddInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupConfig) *AddInstanceGroupsInput { + s.InstanceGroups = v + return s +} + +// SetJobFlowId sets the JobFlowId field's value. +func (s *AddInstanceGroupsInput) SetJobFlowId(v string) *AddInstanceGroupsInput { + s.JobFlowId = &v + return s +} + +// Output from an AddInstanceGroups call. +type AddInstanceGroupsOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the cluster. + ClusterArn *string `min:"20" type:"string"` + + // Instance group IDs of the newly created instance groups. + InstanceGroupIds []*string `type:"list"` + + // The job flow ID in which the instance groups are added. + JobFlowId *string `type:"string"` +} + +// String returns the string representation +func (s AddInstanceGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddInstanceGroupsOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *AddInstanceGroupsOutput) SetClusterArn(v string) *AddInstanceGroupsOutput { + s.ClusterArn = &v + return s +} + +// SetInstanceGroupIds sets the InstanceGroupIds field's value. +func (s *AddInstanceGroupsOutput) SetInstanceGroupIds(v []*string) *AddInstanceGroupsOutput { + s.InstanceGroupIds = v + return s +} + +// SetJobFlowId sets the JobFlowId field's value. +func (s *AddInstanceGroupsOutput) SetJobFlowId(v string) *AddInstanceGroupsOutput { + s.JobFlowId = &v + return s +} + +// The input argument to the AddJobFlowSteps operation. +type AddJobFlowStepsInput struct { + _ struct{} `type:"structure"` + + // A string that uniquely identifies the job flow. This identifier is returned + // by RunJobFlow and can also be obtained from ListClusters. + // + // JobFlowId is a required field + JobFlowId *string `type:"string" required:"true"` + + // A list of StepConfig to be executed by the job flow. + // + // Steps is a required field + Steps []*StepConfig `type:"list" required:"true"` +} + +// String returns the string representation +func (s AddJobFlowStepsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddJobFlowStepsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddJobFlowStepsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddJobFlowStepsInput"} + if s.JobFlowId == nil { + invalidParams.Add(request.NewErrParamRequired("JobFlowId")) + } + if s.Steps == nil { + invalidParams.Add(request.NewErrParamRequired("Steps")) + } + if s.Steps != nil { + for i, v := range s.Steps { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobFlowId sets the JobFlowId field's value. +func (s *AddJobFlowStepsInput) SetJobFlowId(v string) *AddJobFlowStepsInput { + s.JobFlowId = &v + return s +} + +// SetSteps sets the Steps field's value. +func (s *AddJobFlowStepsInput) SetSteps(v []*StepConfig) *AddJobFlowStepsInput { + s.Steps = v + return s +} + +// The output for the AddJobFlowSteps operation. +type AddJobFlowStepsOutput struct { + _ struct{} `type:"structure"` + + // The identifiers of the list of steps added to the job flow. + StepIds []*string `type:"list"` +} + +// String returns the string representation +func (s AddJobFlowStepsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddJobFlowStepsOutput) GoString() string { + return s.String() +} + +// SetStepIds sets the StepIds field's value. +func (s *AddJobFlowStepsOutput) SetStepIds(v []*string) *AddJobFlowStepsOutput { + s.StepIds = v + return s +} + +// This input identifies a cluster and a list of tags to attach. +type AddTagsInput struct { + _ struct{} `type:"structure"` + + // The Amazon EMR resource identifier to which tags will be added. This value + // must be a cluster identifier. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // A list of tags to associate with a cluster and propagate to EC2 instances. + // Tags are user-defined key-value pairs that consist of a required key string + // with a maximum of 128 characters, and an optional value string with a maximum + // of 256 characters. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s AddTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddTagsInput) GoString() string { + return s.String() +} // Validate inspects the fields of the type to determine if they are valid. -func (s *AddInstanceFleetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AddInstanceFleetInput"} - if s.ClusterId == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterId")) - } - if s.InstanceFleet == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) +func (s *AddTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) } - if s.InstanceFleet != nil { - if err := s.InstanceFleet.Validate(); err != nil { - invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) - } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) } if invalidParams.Len() > 0 { @@ -3683,100 +4880,145 @@ func (s *AddInstanceFleetInput) Validate() error { return nil } -// SetClusterId sets the ClusterId field's value. -func (s *AddInstanceFleetInput) SetClusterId(v string) *AddInstanceFleetInput { - s.ClusterId = &v +// SetResourceId sets the ResourceId field's value. +func (s *AddTagsInput) SetResourceId(v string) *AddTagsInput { + s.ResourceId = &v return s } -// SetInstanceFleet sets the InstanceFleet field's value. -func (s *AddInstanceFleetInput) SetInstanceFleet(v *InstanceFleetConfig) *AddInstanceFleetInput { - s.InstanceFleet = v +// SetTags sets the Tags field's value. +func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput { + s.Tags = v return s } -type AddInstanceFleetOutput struct { +// This output indicates the result of adding tags to a resource. +type AddTagsOutput struct { _ struct{} `type:"structure"` +} - // The Amazon Resource Name of the cluster. - ClusterArn *string `min:"20" type:"string"` +// String returns the string representation +func (s AddTagsOutput) String() string { + return awsutil.Prettify(s) +} - // The unique identifier of the cluster. - ClusterId *string `type:"string"` +// GoString returns the string representation +func (s AddTagsOutput) GoString() string { + return s.String() +} - // The unique identifier of the instance fleet. - InstanceFleetId *string `type:"string"` +// With Amazon EMR release version 4.0 and later, the only accepted parameter +// is the application name. To pass arguments to applications, you use configuration +// classifications specified using configuration JSON objects. For more information, +// see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). +// +// With earlier Amazon EMR releases, the application is any Amazon or third-party +// software that you can add to the cluster. This structure contains a list +// of strings that indicates the software to use with the cluster and accepts +// a user argument list. Amazon EMR accepts and forwards the argument list to +// the corresponding installation script as bootstrap action argument. +type Application struct { + _ struct{} `type:"structure"` + + // This option is for advanced users only. This is meta information about third-party + // applications that third-party vendors use for testing purposes. + AdditionalInfo map[string]*string `type:"map"` + + // Arguments for Amazon EMR to pass to the application. + Args []*string `type:"list"` + + // The name of the application. + Name *string `type:"string"` + + // The version of the application. + Version *string `type:"string"` } // String returns the string representation -func (s AddInstanceFleetOutput) String() string { +func (s Application) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddInstanceFleetOutput) GoString() string { +func (s Application) GoString() string { return s.String() } -// SetClusterArn sets the ClusterArn field's value. -func (s *AddInstanceFleetOutput) SetClusterArn(v string) *AddInstanceFleetOutput { - s.ClusterArn = &v +// SetAdditionalInfo sets the AdditionalInfo field's value. +func (s *Application) SetAdditionalInfo(v map[string]*string) *Application { + s.AdditionalInfo = v return s } -// SetClusterId sets the ClusterId field's value. -func (s *AddInstanceFleetOutput) SetClusterId(v string) *AddInstanceFleetOutput { - s.ClusterId = &v +// SetArgs sets the Args field's value. +func (s *Application) SetArgs(v []*string) *Application { + s.Args = v return s } -// SetInstanceFleetId sets the InstanceFleetId field's value. -func (s *AddInstanceFleetOutput) SetInstanceFleetId(v string) *AddInstanceFleetOutput { - s.InstanceFleetId = &v +// SetName sets the Name field's value. +func (s *Application) SetName(v string) *Application { + s.Name = &v return s } -// Input to an AddInstanceGroups call. -type AddInstanceGroupsInput struct { +// SetVersion sets the Version field's value. +func (s *Application) SetVersion(v string) *Application { + s.Version = &v + return s +} + +// An automatic scaling policy for a core instance group or task instance group +// in an Amazon EMR cluster. An automatic scaling policy defines how an instance +// group dynamically adds and terminates EC2 instances in response to the value +// of a CloudWatch metric. See PutAutoScalingPolicy. +type AutoScalingPolicy struct { _ struct{} `type:"structure"` - // Instance groups to add. + // The upper and lower EC2 instance limits for an automatic scaling policy. + // Automatic scaling activity will not cause an instance group to grow above + // or below these limits. // - // InstanceGroups is a required field - InstanceGroups []*InstanceGroupConfig `type:"list" required:"true"` + // Constraints is a required field + Constraints *ScalingConstraints `type:"structure" required:"true"` - // Job flow in which to add the instance groups. + // The scale-in and scale-out rules that comprise the automatic scaling policy. // - // JobFlowId is a required field - JobFlowId *string `type:"string" required:"true"` + // Rules is a required field + Rules []*ScalingRule `type:"list" required:"true"` } // String returns the string representation -func (s AddInstanceGroupsInput) String() string { +func (s AutoScalingPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddInstanceGroupsInput) GoString() string { +func (s AutoScalingPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AddInstanceGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AddInstanceGroupsInput"} - if s.InstanceGroups == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceGroups")) +func (s *AutoScalingPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicy"} + if s.Constraints == nil { + invalidParams.Add(request.NewErrParamRequired("Constraints")) } - if s.JobFlowId == nil { - invalidParams.Add(request.NewErrParamRequired("JobFlowId")) + if s.Rules == nil { + invalidParams.Add(request.NewErrParamRequired("Rules")) } - if s.InstanceGroups != nil { - for i, v := range s.InstanceGroups { + if s.Constraints != nil { + if err := s.Constraints.Validate(); err != nil { + invalidParams.AddNested("Constraints", err.(request.ErrInvalidParams)) + } + } + if s.Rules != nil { + for i, v := range s.Rules { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) } } } @@ -3787,185 +5029,187 @@ func (s *AddInstanceGroupsInput) Validate() error { return nil } -// SetInstanceGroups sets the InstanceGroups field's value. -func (s *AddInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupConfig) *AddInstanceGroupsInput { - s.InstanceGroups = v +// SetConstraints sets the Constraints field's value. +func (s *AutoScalingPolicy) SetConstraints(v *ScalingConstraints) *AutoScalingPolicy { + s.Constraints = v return s } -// SetJobFlowId sets the JobFlowId field's value. -func (s *AddInstanceGroupsInput) SetJobFlowId(v string) *AddInstanceGroupsInput { - s.JobFlowId = &v +// SetRules sets the Rules field's value. +func (s *AutoScalingPolicy) SetRules(v []*ScalingRule) *AutoScalingPolicy { + s.Rules = v return s } -// Output from an AddInstanceGroups call. -type AddInstanceGroupsOutput struct { +// An automatic scaling policy for a core instance group or task instance group +// in an Amazon EMR cluster. The automatic scaling policy defines how an instance +// group dynamically adds and terminates EC2 instances in response to the value +// of a CloudWatch metric. See PutAutoScalingPolicy. +type AutoScalingPolicyDescription struct { _ struct{} `type:"structure"` - // The Amazon Resource Name of the cluster. - ClusterArn *string `min:"20" type:"string"` + // The upper and lower EC2 instance limits for an automatic scaling policy. + // Automatic scaling activity will not cause an instance group to grow above + // or below these limits. + Constraints *ScalingConstraints `type:"structure"` - // Instance group IDs of the newly created instance groups. - InstanceGroupIds []*string `type:"list"` + // The scale-in and scale-out rules that comprise the automatic scaling policy. + Rules []*ScalingRule `type:"list"` - // The job flow ID in which the instance groups are added. - JobFlowId *string `type:"string"` + // The status of an automatic scaling policy. + Status *AutoScalingPolicyStatus `type:"structure"` } // String returns the string representation -func (s AddInstanceGroupsOutput) String() string { +func (s AutoScalingPolicyDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddInstanceGroupsOutput) GoString() string { +func (s AutoScalingPolicyDescription) GoString() string { return s.String() } -// SetClusterArn sets the ClusterArn field's value. -func (s *AddInstanceGroupsOutput) SetClusterArn(v string) *AddInstanceGroupsOutput { - s.ClusterArn = &v +// SetConstraints sets the Constraints field's value. +func (s *AutoScalingPolicyDescription) SetConstraints(v *ScalingConstraints) *AutoScalingPolicyDescription { + s.Constraints = v return s } -// SetInstanceGroupIds sets the InstanceGroupIds field's value. -func (s *AddInstanceGroupsOutput) SetInstanceGroupIds(v []*string) *AddInstanceGroupsOutput { - s.InstanceGroupIds = v +// SetRules sets the Rules field's value. +func (s *AutoScalingPolicyDescription) SetRules(v []*ScalingRule) *AutoScalingPolicyDescription { + s.Rules = v return s } -// SetJobFlowId sets the JobFlowId field's value. -func (s *AddInstanceGroupsOutput) SetJobFlowId(v string) *AddInstanceGroupsOutput { - s.JobFlowId = &v +// SetStatus sets the Status field's value. +func (s *AutoScalingPolicyDescription) SetStatus(v *AutoScalingPolicyStatus) *AutoScalingPolicyDescription { + s.Status = v return s } -// The input argument to the AddJobFlowSteps operation. -type AddJobFlowStepsInput struct { +// The reason for an AutoScalingPolicyStatus change. +type AutoScalingPolicyStateChangeReason struct { _ struct{} `type:"structure"` - // A string that uniquely identifies the job flow. This identifier is returned - // by RunJobFlow and can also be obtained from ListClusters. - // - // JobFlowId is a required field - JobFlowId *string `type:"string" required:"true"` + // The code indicating the reason for the change in status.USER_REQUEST indicates + // that the scaling policy status was changed by a user. PROVISION_FAILURE indicates + // that the status change was because the policy failed to provision. CLEANUP_FAILURE + // indicates an error. + Code *string `type:"string" enum:"AutoScalingPolicyStateChangeReasonCode"` - // A list of StepConfig to be executed by the job flow. - // - // Steps is a required field - Steps []*StepConfig `type:"list" required:"true"` + // A friendly, more verbose message that accompanies an automatic scaling policy + // state change. + Message *string `type:"string"` } // String returns the string representation -func (s AddJobFlowStepsInput) String() string { +func (s AutoScalingPolicyStateChangeReason) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddJobFlowStepsInput) GoString() string { +func (s AutoScalingPolicyStateChangeReason) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AddJobFlowStepsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AddJobFlowStepsInput"} - if s.JobFlowId == nil { - invalidParams.Add(request.NewErrParamRequired("JobFlowId")) - } - if s.Steps == nil { - invalidParams.Add(request.NewErrParamRequired("Steps")) - } - if s.Steps != nil { - for i, v := range s.Steps { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetJobFlowId sets the JobFlowId field's value. -func (s *AddJobFlowStepsInput) SetJobFlowId(v string) *AddJobFlowStepsInput { - s.JobFlowId = &v +// SetCode sets the Code field's value. +func (s *AutoScalingPolicyStateChangeReason) SetCode(v string) *AutoScalingPolicyStateChangeReason { + s.Code = &v return s } -// SetSteps sets the Steps field's value. -func (s *AddJobFlowStepsInput) SetSteps(v []*StepConfig) *AddJobFlowStepsInput { - s.Steps = v +// SetMessage sets the Message field's value. +func (s *AutoScalingPolicyStateChangeReason) SetMessage(v string) *AutoScalingPolicyStateChangeReason { + s.Message = &v return s } -// The output for the AddJobFlowSteps operation. -type AddJobFlowStepsOutput struct { +// The status of an automatic scaling policy. +type AutoScalingPolicyStatus struct { _ struct{} `type:"structure"` - // The identifiers of the list of steps added to the job flow. - StepIds []*string `type:"list"` + // Indicates the status of the automatic scaling policy. + State *string `type:"string" enum:"AutoScalingPolicyState"` + + // The reason for a change in status. + StateChangeReason *AutoScalingPolicyStateChangeReason `type:"structure"` } // String returns the string representation -func (s AddJobFlowStepsOutput) String() string { +func (s AutoScalingPolicyStatus) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddJobFlowStepsOutput) GoString() string { +func (s AutoScalingPolicyStatus) GoString() string { return s.String() } -// SetStepIds sets the StepIds field's value. -func (s *AddJobFlowStepsOutput) SetStepIds(v []*string) *AddJobFlowStepsOutput { - s.StepIds = v +// SetState sets the State field's value. +func (s *AutoScalingPolicyStatus) SetState(v string) *AutoScalingPolicyStatus { + s.State = &v return s } -// This input identifies a cluster and a list of tags to attach. -type AddTagsInput struct { +// SetStateChangeReason sets the StateChangeReason field's value. +func (s *AutoScalingPolicyStatus) SetStateChangeReason(v *AutoScalingPolicyStateChangeReason) *AutoScalingPolicyStatus { + s.StateChangeReason = v + return s +} + +// A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules +// is set to true, Amazon EMR prevents cluster creation if one of the cluster's +// security groups has a rule that allows inbound traffic from 0.0.0.0/0 or +// ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges. +type BlockPublicAccessConfiguration struct { _ struct{} `type:"structure"` - // The Amazon EMR resource identifier to which tags will be added. This value - // must be a cluster identifier. + // Indicates whether Amazon EMR block public access is enabled (true) or disabled + // (false). By default, the value is false for accounts that have created EMR + // clusters before July 2019. For accounts created after this, the default is + // true. // - // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` + // BlockPublicSecurityGroupRules is a required field + BlockPublicSecurityGroupRules *bool `type:"boolean" required:"true"` - // A list of tags to associate with a cluster and propagate to EC2 instances. - // Tags are user-defined key/value pairs that consist of a required key string - // with a maximum of 128 characters, and an optional value string with a maximum - // of 256 characters. + // Specifies ports and port ranges that are permitted to have security group + // rules that allow inbound traffic from all public sources. For example, if + // Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, + // Amazon EMR allows cluster creation if a security group associated with the + // cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 + // or IPv6 port ::/0 as the source. // - // Tags is a required field - Tags []*Tag `type:"list" required:"true"` + // By default, Port 22, which is used for SSH access to the cluster EC2 instances, + // is in the list of PermittedPublicSecurityGroupRuleRanges. + PermittedPublicSecurityGroupRuleRanges []*PortRange `type:"list"` } // String returns the string representation -func (s AddTagsInput) String() string { +func (s BlockPublicAccessConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddTagsInput) GoString() string { +func (s BlockPublicAccessConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AddTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} - if s.ResourceId == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceId")) +func (s *BlockPublicAccessConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BlockPublicAccessConfiguration"} + if s.BlockPublicSecurityGroupRules == nil { + invalidParams.Add(request.NewErrParamRequired("BlockPublicSecurityGroupRules")) } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) + if s.PermittedPublicSecurityGroupRuleRanges != nil { + for i, v := range s.PermittedPublicSecurityGroupRuleRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PermittedPublicSecurityGroupRuleRanges", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -3974,146 +5218,95 @@ func (s *AddTagsInput) Validate() error { return nil } -// SetResourceId sets the ResourceId field's value. -func (s *AddTagsInput) SetResourceId(v string) *AddTagsInput { - s.ResourceId = &v +// SetBlockPublicSecurityGroupRules sets the BlockPublicSecurityGroupRules field's value. +func (s *BlockPublicAccessConfiguration) SetBlockPublicSecurityGroupRules(v bool) *BlockPublicAccessConfiguration { + s.BlockPublicSecurityGroupRules = &v return s } -// SetTags sets the Tags field's value. -func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput { - s.Tags = v +// SetPermittedPublicSecurityGroupRuleRanges sets the PermittedPublicSecurityGroupRuleRanges field's value. +func (s *BlockPublicAccessConfiguration) SetPermittedPublicSecurityGroupRuleRanges(v []*PortRange) *BlockPublicAccessConfiguration { + s.PermittedPublicSecurityGroupRuleRanges = v return s } -// This output indicates the result of adding tags to a resource. -type AddTagsOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s AddTagsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AddTagsOutput) GoString() string { - return s.String() -} - -// With Amazon EMR release version 4.0 and later, the only accepted parameter -// is the application name. To pass arguments to applications, you use configuration -// classifications specified using configuration JSON objects. For more information, -// see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). -// -// With earlier Amazon EMR releases, the application is any Amazon or third-party -// software that you can add to the cluster. This structure contains a list -// of strings that indicates the software to use with the cluster and accepts -// a user argument list. Amazon EMR accepts and forwards the argument list to -// the corresponding installation script as bootstrap action argument. -type Application struct { +// Properties that describe the AWS principal that created the BlockPublicAccessConfiguration +// using the PutBlockPublicAccessConfiguration action as well as the date and +// time that the configuration was created. Each time a configuration for block +// public access is updated, Amazon EMR updates this metadata. +type BlockPublicAccessConfigurationMetadata struct { _ struct{} `type:"structure"` - // This option is for advanced users only. This is meta information about third-party - // applications that third-party vendors use for testing purposes. - AdditionalInfo map[string]*string `type:"map"` - - // Arguments for Amazon EMR to pass to the application. - Args []*string `type:"list"` - - // The name of the application. - Name *string `type:"string"` + // The Amazon Resource Name that created or last modified the configuration. + // + // CreatedByArn is a required field + CreatedByArn *string `min:"20" type:"string" required:"true"` - // The version of the application. - Version *string `type:"string"` + // The date and time that the configuration was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `type:"timestamp" required:"true"` } // String returns the string representation -func (s Application) String() string { +func (s BlockPublicAccessConfigurationMetadata) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Application) GoString() string { +func (s BlockPublicAccessConfigurationMetadata) GoString() string { return s.String() } -// SetAdditionalInfo sets the AdditionalInfo field's value. -func (s *Application) SetAdditionalInfo(v map[string]*string) *Application { - s.AdditionalInfo = v - return s -} - -// SetArgs sets the Args field's value. -func (s *Application) SetArgs(v []*string) *Application { - s.Args = v - return s -} - -// SetName sets the Name field's value. -func (s *Application) SetName(v string) *Application { - s.Name = &v +// SetCreatedByArn sets the CreatedByArn field's value. +func (s *BlockPublicAccessConfigurationMetadata) SetCreatedByArn(v string) *BlockPublicAccessConfigurationMetadata { + s.CreatedByArn = &v return s } -// SetVersion sets the Version field's value. -func (s *Application) SetVersion(v string) *Application { - s.Version = &v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *BlockPublicAccessConfigurationMetadata) SetCreationDateTime(v time.Time) *BlockPublicAccessConfigurationMetadata { + s.CreationDateTime = &v return s } -// An automatic scaling policy for a core instance group or task instance group -// in an Amazon EMR cluster. An automatic scaling policy defines how an instance -// group dynamically adds and terminates EC2 instances in response to the value -// of a CloudWatch metric. See PutAutoScalingPolicy. -type AutoScalingPolicy struct { +// Configuration of a bootstrap action. +type BootstrapActionConfig struct { _ struct{} `type:"structure"` - // The upper and lower EC2 instance limits for an automatic scaling policy. - // Automatic scaling activity will not cause an instance group to grow above - // or below these limits. + // The name of the bootstrap action. // - // Constraints is a required field - Constraints *ScalingConstraints `type:"structure" required:"true"` + // Name is a required field + Name *string `type:"string" required:"true"` - // The scale-in and scale-out rules that comprise the automatic scaling policy. + // The script run by the bootstrap action. // - // Rules is a required field - Rules []*ScalingRule `type:"list" required:"true"` + // ScriptBootstrapAction is a required field + ScriptBootstrapAction *ScriptBootstrapActionConfig `type:"structure" required:"true"` } // String returns the string representation -func (s AutoScalingPolicy) String() string { +func (s BootstrapActionConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AutoScalingPolicy) GoString() string { +func (s BootstrapActionConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AutoScalingPolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicy"} - if s.Constraints == nil { - invalidParams.Add(request.NewErrParamRequired("Constraints")) - } - if s.Rules == nil { - invalidParams.Add(request.NewErrParamRequired("Rules")) +func (s *BootstrapActionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BootstrapActionConfig"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.Constraints != nil { - if err := s.Constraints.Validate(); err != nil { - invalidParams.AddNested("Constraints", err.(request.ErrInvalidParams)) - } + if s.ScriptBootstrapAction == nil { + invalidParams.Add(request.NewErrParamRequired("ScriptBootstrapAction")) } - if s.Rules != nil { - for i, v := range s.Rules { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) - } + if s.ScriptBootstrapAction != nil { + if err := s.ScriptBootstrapAction.Validate(); err != nil { + invalidParams.AddNested("ScriptBootstrapAction", err.(request.ErrInvalidParams)) } } @@ -4123,186 +5316,248 @@ func (s *AutoScalingPolicy) Validate() error { return nil } -// SetConstraints sets the Constraints field's value. -func (s *AutoScalingPolicy) SetConstraints(v *ScalingConstraints) *AutoScalingPolicy { - s.Constraints = v +// SetName sets the Name field's value. +func (s *BootstrapActionConfig) SetName(v string) *BootstrapActionConfig { + s.Name = &v return s } -// SetRules sets the Rules field's value. -func (s *AutoScalingPolicy) SetRules(v []*ScalingRule) *AutoScalingPolicy { - s.Rules = v +// SetScriptBootstrapAction sets the ScriptBootstrapAction field's value. +func (s *BootstrapActionConfig) SetScriptBootstrapAction(v *ScriptBootstrapActionConfig) *BootstrapActionConfig { + s.ScriptBootstrapAction = v return s } -// An automatic scaling policy for a core instance group or task instance group -// in an Amazon EMR cluster. The automatic scaling policy defines how an instance -// group dynamically adds and terminates EC2 instances in response to the value -// of a CloudWatch metric. See PutAutoScalingPolicy. -type AutoScalingPolicyDescription struct { +// Reports the configuration of a bootstrap action in a cluster (job flow). +type BootstrapActionDetail struct { _ struct{} `type:"structure"` - // The upper and lower EC2 instance limits for an automatic scaling policy. - // Automatic scaling activity will not cause an instance group to grow above - // or below these limits. - Constraints *ScalingConstraints `type:"structure"` + // A description of the bootstrap action. + BootstrapActionConfig *BootstrapActionConfig `type:"structure"` +} - // The scale-in and scale-out rules that comprise the automatic scaling policy. - Rules []*ScalingRule `type:"list"` +// String returns the string representation +func (s BootstrapActionDetail) String() string { + return awsutil.Prettify(s) +} - // The status of an automatic scaling policy. - Status *AutoScalingPolicyStatus `type:"structure"` +// GoString returns the string representation +func (s BootstrapActionDetail) GoString() string { + return s.String() +} + +// SetBootstrapActionConfig sets the BootstrapActionConfig field's value. +func (s *BootstrapActionDetail) SetBootstrapActionConfig(v *BootstrapActionConfig) *BootstrapActionDetail { + s.BootstrapActionConfig = v + return s +} + +// Specification of the status of a CancelSteps request. Available only in Amazon +// EMR version 4.8.0 and later, excluding version 5.0.0. +type CancelStepsInfo struct { + _ struct{} `type:"structure"` + + // The reason for the failure if the CancelSteps request fails. + Reason *string `type:"string"` + + // The status of a CancelSteps Request. The value may be SUBMITTED or FAILED. + Status *string `type:"string" enum:"CancelStepsRequestStatus"` + + // The encrypted StepId of a step. + StepId *string `type:"string"` } // String returns the string representation -func (s AutoScalingPolicyDescription) String() string { +func (s CancelStepsInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AutoScalingPolicyDescription) GoString() string { +func (s CancelStepsInfo) GoString() string { return s.String() } -// SetConstraints sets the Constraints field's value. -func (s *AutoScalingPolicyDescription) SetConstraints(v *ScalingConstraints) *AutoScalingPolicyDescription { - s.Constraints = v +// SetReason sets the Reason field's value. +func (s *CancelStepsInfo) SetReason(v string) *CancelStepsInfo { + s.Reason = &v return s } -// SetRules sets the Rules field's value. -func (s *AutoScalingPolicyDescription) SetRules(v []*ScalingRule) *AutoScalingPolicyDescription { - s.Rules = v +// SetStatus sets the Status field's value. +func (s *CancelStepsInfo) SetStatus(v string) *CancelStepsInfo { + s.Status = &v return s } -// SetStatus sets the Status field's value. -func (s *AutoScalingPolicyDescription) SetStatus(v *AutoScalingPolicyStatus) *AutoScalingPolicyDescription { - s.Status = v +// SetStepId sets the StepId field's value. +func (s *CancelStepsInfo) SetStepId(v string) *CancelStepsInfo { + s.StepId = &v return s } -// The reason for an AutoScalingPolicyStatus change. -type AutoScalingPolicyStateChangeReason struct { +// The input argument to the CancelSteps operation. +type CancelStepsInput struct { _ struct{} `type:"structure"` - // The code indicating the reason for the change in status.USER_REQUEST indicates - // that the scaling policy status was changed by a user. PROVISION_FAILURE indicates - // that the status change was because the policy failed to provision. CLEANUP_FAILURE - // indicates an error. - Code *string `type:"string" enum:"AutoScalingPolicyStateChangeReasonCode"` + // The ClusterID for the specified steps that will be canceled. Use RunJobFlow + // and ListClusters to get ClusterIDs. + // + // ClusterId is a required field + ClusterId *string `type:"string" required:"true"` - // A friendly, more verbose message that accompanies an automatic scaling policy - // state change. - Message *string `type:"string"` + // The option to choose to cancel RUNNING steps. By default, the value is SEND_INTERRUPT. + StepCancellationOption *string `type:"string" enum:"StepCancellationOption"` + + // The list of StepIDs to cancel. Use ListSteps to get steps and their states + // for the specified cluster. + // + // StepIds is a required field + StepIds []*string `type:"list" required:"true"` } // String returns the string representation -func (s AutoScalingPolicyStateChangeReason) String() string { +func (s CancelStepsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AutoScalingPolicyStateChangeReason) GoString() string { +func (s CancelStepsInput) GoString() string { return s.String() } -// SetCode sets the Code field's value. -func (s *AutoScalingPolicyStateChangeReason) SetCode(v string) *AutoScalingPolicyStateChangeReason { - s.Code = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelStepsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelStepsInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + if s.StepIds == nil { + invalidParams.Add(request.NewErrParamRequired("StepIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *CancelStepsInput) SetClusterId(v string) *CancelStepsInput { + s.ClusterId = &v return s } -// SetMessage sets the Message field's value. -func (s *AutoScalingPolicyStateChangeReason) SetMessage(v string) *AutoScalingPolicyStateChangeReason { - s.Message = &v +// SetStepCancellationOption sets the StepCancellationOption field's value. +func (s *CancelStepsInput) SetStepCancellationOption(v string) *CancelStepsInput { + s.StepCancellationOption = &v return s } -// The status of an automatic scaling policy. -type AutoScalingPolicyStatus struct { - _ struct{} `type:"structure"` +// SetStepIds sets the StepIds field's value. +func (s *CancelStepsInput) SetStepIds(v []*string) *CancelStepsInput { + s.StepIds = v + return s +} - // Indicates the status of the automatic scaling policy. - State *string `type:"string" enum:"AutoScalingPolicyState"` +// The output for the CancelSteps operation. +type CancelStepsOutput struct { + _ struct{} `type:"structure"` - // The reason for a change in status. - StateChangeReason *AutoScalingPolicyStateChangeReason `type:"structure"` + // A list of CancelStepsInfo, which shows the status of specified cancel requests + // for each StepID specified. + CancelStepsInfoList []*CancelStepsInfo `type:"list"` } // String returns the string representation -func (s AutoScalingPolicyStatus) String() string { +func (s CancelStepsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AutoScalingPolicyStatus) GoString() string { +func (s CancelStepsOutput) GoString() string { return s.String() } -// SetState sets the State field's value. -func (s *AutoScalingPolicyStatus) SetState(v string) *AutoScalingPolicyStatus { - s.State = &v - return s -} - -// SetStateChangeReason sets the StateChangeReason field's value. -func (s *AutoScalingPolicyStatus) SetStateChangeReason(v *AutoScalingPolicyStateChangeReason) *AutoScalingPolicyStatus { - s.StateChangeReason = v +// SetCancelStepsInfoList sets the CancelStepsInfoList field's value. +func (s *CancelStepsOutput) SetCancelStepsInfoList(v []*CancelStepsInfo) *CancelStepsOutput { + s.CancelStepsInfoList = v return s } -// A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules -// is set to true, Amazon EMR prevents cluster creation if one of the cluster's -// security groups has a rule that allows inbound traffic from 0.0.0.0/0 or -// ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges. -type BlockPublicAccessConfiguration struct { +// The definition of a CloudWatch metric alarm, which determines when an automatic +// scaling activity is triggered. When the defined alarm conditions are satisfied, +// scaling activity begins. +type CloudWatchAlarmDefinition struct { _ struct{} `type:"structure"` - // Indicates whether EMR block public access is enabled (true) or disabled (false). - // By default, the value is false for accounts that have created EMR clusters - // before July 2019. For accounts created after this, the default is true. + // Determines how the metric specified by MetricName is compared to the value + // specified by Threshold. // - // BlockPublicSecurityGroupRules is a required field - BlockPublicSecurityGroupRules *bool `type:"boolean" required:"true"` + // ComparisonOperator is a required field + ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` - // Specifies ports and port ranges that are permitted to have security group - // rules that allow inbound traffic from all public sources. For example, if - // Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, - // Amazon EMR allows cluster creation if a security group associated with the - // cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 - // or IPv6 port ::/0 as the source. + // A CloudWatch metric dimension. + Dimensions []*MetricDimension `type:"list"` + + // The number of periods, in five-minute increments, during which the alarm + // condition must exist before the alarm triggers automatic scaling activity. + // The default value is 1. + EvaluationPeriods *int64 `type:"integer"` + + // The name of the CloudWatch metric that is watched to determine an alarm condition. + // + // MetricName is a required field + MetricName *string `type:"string" required:"true"` + + // The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce. + Namespace *string `type:"string"` + + // The period, in seconds, over which the statistic is applied. EMR CloudWatch + // metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch + // metric is specified, specify 300. + // + // Period is a required field + Period *int64 `type:"integer" required:"true"` + + // The statistic to apply to the metric associated with the alarm. The default + // is AVERAGE. + Statistic *string `type:"string" enum:"Statistic"` + + // The value against which the specified statistic is compared. // - // By default, Port 22, which is used for SSH access to the cluster EC2 instances, - // is in the list of PermittedPublicSecurityGroupRuleRanges. - PermittedPublicSecurityGroupRuleRanges []*PortRange `type:"list"` + // Threshold is a required field + Threshold *float64 `type:"double" required:"true"` + + // The unit of measure associated with the CloudWatch metric being watched. + // The value specified for Unit must correspond to the units specified in the + // CloudWatch metric. + Unit *string `type:"string" enum:"Unit"` } // String returns the string representation -func (s BlockPublicAccessConfiguration) String() string { +func (s CloudWatchAlarmDefinition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BlockPublicAccessConfiguration) GoString() string { +func (s CloudWatchAlarmDefinition) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BlockPublicAccessConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BlockPublicAccessConfiguration"} - if s.BlockPublicSecurityGroupRules == nil { - invalidParams.Add(request.NewErrParamRequired("BlockPublicSecurityGroupRules")) +func (s *CloudWatchAlarmDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchAlarmDefinition"} + if s.ComparisonOperator == nil { + invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) } - if s.PermittedPublicSecurityGroupRuleRanges != nil { - for i, v := range s.PermittedPublicSecurityGroupRuleRanges { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PermittedPublicSecurityGroupRuleRanges", i), err.(request.ErrInvalidParams)) - } - } + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.Period == nil { + invalidParams.Add(request.NewErrParamRequired("Period")) + } + if s.Threshold == nil { + invalidParams.Add(request.NewErrParamRequired("Threshold")) } if invalidParams.Len() > 0 { @@ -4311,472 +5566,483 @@ func (s *BlockPublicAccessConfiguration) Validate() error { return nil } -// SetBlockPublicSecurityGroupRules sets the BlockPublicSecurityGroupRules field's value. -func (s *BlockPublicAccessConfiguration) SetBlockPublicSecurityGroupRules(v bool) *BlockPublicAccessConfiguration { - s.BlockPublicSecurityGroupRules = &v +// SetComparisonOperator sets the ComparisonOperator field's value. +func (s *CloudWatchAlarmDefinition) SetComparisonOperator(v string) *CloudWatchAlarmDefinition { + s.ComparisonOperator = &v return s } -// SetPermittedPublicSecurityGroupRuleRanges sets the PermittedPublicSecurityGroupRuleRanges field's value. -func (s *BlockPublicAccessConfiguration) SetPermittedPublicSecurityGroupRuleRanges(v []*PortRange) *BlockPublicAccessConfiguration { - s.PermittedPublicSecurityGroupRuleRanges = v +// SetDimensions sets the Dimensions field's value. +func (s *CloudWatchAlarmDefinition) SetDimensions(v []*MetricDimension) *CloudWatchAlarmDefinition { + s.Dimensions = v return s } -// Properties that describe the AWS principal that created the BlockPublicAccessConfiguration -// using the PutBlockPublicAccessConfiguration action as well as the date and -// time that the configuration was created. Each time a configuration for block -// public access is updated, Amazon EMR updates this metadata. -type BlockPublicAccessConfigurationMetadata struct { - _ struct{} `type:"structure"` +// SetEvaluationPeriods sets the EvaluationPeriods field's value. +func (s *CloudWatchAlarmDefinition) SetEvaluationPeriods(v int64) *CloudWatchAlarmDefinition { + s.EvaluationPeriods = &v + return s +} - // The Amazon Resource Name that created or last modified the configuration. - // - // CreatedByArn is a required field - CreatedByArn *string `min:"20" type:"string" required:"true"` +// SetMetricName sets the MetricName field's value. +func (s *CloudWatchAlarmDefinition) SetMetricName(v string) *CloudWatchAlarmDefinition { + s.MetricName = &v + return s +} - // The date and time that the configuration was created. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `type:"timestamp" required:"true"` +// SetNamespace sets the Namespace field's value. +func (s *CloudWatchAlarmDefinition) SetNamespace(v string) *CloudWatchAlarmDefinition { + s.Namespace = &v + return s } -// String returns the string representation -func (s BlockPublicAccessConfigurationMetadata) String() string { - return awsutil.Prettify(s) +// SetPeriod sets the Period field's value. +func (s *CloudWatchAlarmDefinition) SetPeriod(v int64) *CloudWatchAlarmDefinition { + s.Period = &v + return s } -// GoString returns the string representation -func (s BlockPublicAccessConfigurationMetadata) GoString() string { - return s.String() +// SetStatistic sets the Statistic field's value. +func (s *CloudWatchAlarmDefinition) SetStatistic(v string) *CloudWatchAlarmDefinition { + s.Statistic = &v + return s } -// SetCreatedByArn sets the CreatedByArn field's value. -func (s *BlockPublicAccessConfigurationMetadata) SetCreatedByArn(v string) *BlockPublicAccessConfigurationMetadata { - s.CreatedByArn = &v +// SetThreshold sets the Threshold field's value. +func (s *CloudWatchAlarmDefinition) SetThreshold(v float64) *CloudWatchAlarmDefinition { + s.Threshold = &v return s } -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *BlockPublicAccessConfigurationMetadata) SetCreationDateTime(v time.Time) *BlockPublicAccessConfigurationMetadata { - s.CreationDateTime = &v +// SetUnit sets the Unit field's value. +func (s *CloudWatchAlarmDefinition) SetUnit(v string) *CloudWatchAlarmDefinition { + s.Unit = &v return s } -// Configuration of a bootstrap action. -type BootstrapActionConfig struct { +// The detailed description of the cluster. +type Cluster struct { _ struct{} `type:"structure"` - // The name of the bootstrap action. - // - // Name is a required field - Name *string `type:"string" required:"true"` + // The applications installed on this cluster. + Applications []*Application `type:"list"` + + // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. + // The IAM role provides permissions that the automatic scaling feature requires + // to launch and terminate EC2 instances in an instance group. + AutoScalingRole *string `type:"string"` + + // Specifies whether the cluster should terminate after completing all steps. + AutoTerminate *bool `type:"boolean"` + + // The Amazon Resource Name of the cluster. + ClusterArn *string `min:"20" type:"string"` + + // Applies only to Amazon EMR releases 4.x and later. The list of Configurations + // supplied to the EMR cluster. + Configurations []*Configuration `type:"list"` + + // Available only in Amazon EMR version 5.7.0 and later. The ID of a custom + // Amazon EBS-backed Linux AMI if the cluster uses a custom AMI. + CustomAmiId *string `type:"string"` + + // The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that + // is used for each EC2 instance. Available in Amazon EMR version 4.x and later. + EbsRootVolumeSize *int64 `type:"integer"` + + // Provides information about the EC2 instances in a cluster grouped by category. + // For example, key name, subnet ID, IAM instance profile, and so on. + Ec2InstanceAttributes *Ec2InstanceAttributes `type:"structure"` + + // The unique identifier for the cluster. + Id *string `type:"string"` - // The script run by the bootstrap action. // - // ScriptBootstrapAction is a required field - ScriptBootstrapAction *ScriptBootstrapActionConfig `type:"structure" required:"true"` -} + // The instance fleet configuration is available only in Amazon EMR versions + // 4.8.0 and later, excluding 5.0.x versions. + // + // The instance group configuration of the cluster. A value of INSTANCE_GROUP + // indicates a uniform instance group configuration. A value of INSTANCE_FLEET + // indicates an instance fleets configuration. + InstanceCollectionType *string `type:"string" enum:"InstanceCollectionType"` -// String returns the string representation -func (s BootstrapActionConfig) String() string { - return awsutil.Prettify(s) -} + // Attributes for Kerberos configuration when Kerberos authentication is enabled + // using a security configuration. For more information see Use Kerberos Authentication + // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) + // in the Amazon EMR Management Guide. + KerberosAttributes *KerberosAttributes `type:"structure"` -// GoString returns the string representation -func (s BootstrapActionConfig) GoString() string { - return s.String() -} + // The AWS KMS customer master key (CMK) used for encrypting log files. This + // attribute is only available with EMR version 5.30.0 and later, excluding + // EMR 6.0.0. + LogEncryptionKmsKeyId *string `type:"string"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *BootstrapActionConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BootstrapActionConfig"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.ScriptBootstrapAction == nil { - invalidParams.Add(request.NewErrParamRequired("ScriptBootstrapAction")) - } - if s.ScriptBootstrapAction != nil { - if err := s.ScriptBootstrapAction.Validate(); err != nil { - invalidParams.AddNested("ScriptBootstrapAction", err.(request.ErrInvalidParams)) - } - } + // The path to the Amazon S3 location where logs for this cluster are stored. + LogUri *string `type:"string"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The DNS name of the master node. If the cluster is on a private subnet, this + // is the private DNS name. On a public subnet, this is the public DNS name. + MasterPublicDnsName *string `type:"string"` -// SetName sets the Name field's value. -func (s *BootstrapActionConfig) SetName(v string) *BootstrapActionConfig { - s.Name = &v - return s -} + // The name of the cluster. + Name *string `type:"string"` -// SetScriptBootstrapAction sets the ScriptBootstrapAction field's value. -func (s *BootstrapActionConfig) SetScriptBootstrapAction(v *ScriptBootstrapActionConfig) *BootstrapActionConfig { - s.ScriptBootstrapAction = v - return s -} + // An approximation of the cost of the cluster, represented in m1.small/hours. + // This value is incremented one time for every hour an m1.small instance runs. + // Larger instances are weighted more, so an EC2 instance that is roughly four + // times more expensive would result in the normalized instance hours being + // incremented by four. This result is only an approximation and does not reflect + // the actual billing rate. + NormalizedInstanceHours *int64 `type:"integer"` -// Reports the configuration of a bootstrap action in a cluster (job flow). -type BootstrapActionDetail struct { - _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. + OutpostArn *string `type:"string"` - // A description of the bootstrap action. - BootstrapActionConfig *BootstrapActionConfig `type:"structure"` -} + // Placement group configured for an Amazon EMR cluster. + PlacementGroups []*PlacementGroupConfig `type:"list"` + + // The Amazon EMR release label, which determines the version of open-source + // application packages installed on the cluster. Release labels are in the + // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. + // For more information about Amazon EMR release versions and included application + // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ + // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label + // applies only to Amazon EMR releases version 4.0 and later. Earlier versions + // use AmiVersion. + ReleaseLabel *string `type:"string"` + + // Applies only when CustomAmiID is used. Specifies the type of updates that + // are applied from the Amazon Linux AMI package repositories when an instance + // boots using the AMI. + RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"` + + // The AMI version requested for this cluster. + RequestedAmiVersion *string `type:"string"` + + // The AMI version running on this cluster. + RunningAmiVersion *string `type:"string"` + + // The way that individual Amazon EC2 instances terminate when an automatic + // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR + // indicates that Amazon EMR terminates nodes at the instance-hour boundary, + // regardless of when the request to terminate the instance was submitted. This + // option is only available with Amazon EMR 5.1.0 and later and is the default + // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates + // that Amazon EMR adds nodes to a deny list and drains tasks from nodes before + // terminating the Amazon EC2 instances, regardless of the instance-hour boundary. + // With either behavior, Amazon EMR removes the least active nodes first and + // blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION + // is available only in Amazon EMR version 4.1.0 and later, and is the default + // for versions of Amazon EMR earlier than 5.1.0. + ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` -// String returns the string representation -func (s BootstrapActionDetail) String() string { - return awsutil.Prettify(s) -} + // The name of the security configuration applied to the cluster. + SecurityConfiguration *string `type:"string"` -// GoString returns the string representation -func (s BootstrapActionDetail) GoString() string { - return s.String() -} + // The IAM role that will be assumed by the Amazon EMR service to access AWS + // resources on your behalf. + ServiceRole *string `type:"string"` -// SetBootstrapActionConfig sets the BootstrapActionConfig field's value. -func (s *BootstrapActionDetail) SetBootstrapActionConfig(v *BootstrapActionConfig) *BootstrapActionDetail { - s.BootstrapActionConfig = v - return s -} + // The current status details about the cluster. + Status *ClusterStatus `type:"structure"` -// Specification of the status of a CancelSteps request. Available only in Amazon -// EMR version 4.8.0 and later, excluding version 5.0.0. -type CancelStepsInfo struct { - _ struct{} `type:"structure"` + // Specifies the number of steps that can be executed concurrently. + StepConcurrencyLevel *int64 `type:"integer"` - // The reason for the failure if the CancelSteps request fails. - Reason *string `type:"string"` + // A list of tags associated with a cluster. + Tags []*Tag `type:"list"` - // The status of a CancelSteps Request. The value may be SUBMITTED or FAILED. - Status *string `type:"string" enum:"CancelStepsRequestStatus"` + // Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances + // from being terminated by an API call or user intervention, or in the event + // of a cluster error. + TerminationProtected *bool `type:"boolean"` - // The encrypted StepId of a step. - StepId *string `type:"string"` + // Indicates whether the cluster is visible to all IAM users of the AWS account + // associated with the cluster. The default value, true, indicates that all + // IAM users in the AWS account can perform cluster actions if they have the + // proper IAM policy permissions. If this value is false, only the IAM user + // that created the cluster can perform actions. This value can be changed on + // a running cluster by using the SetVisibleToAllUsers action. You can override + // the default value of true when you create a cluster by using the VisibleToAllUsers + // parameter of the RunJobFlow action. + VisibleToAllUsers *bool `type:"boolean"` } // String returns the string representation -func (s CancelStepsInfo) String() string { +func (s Cluster) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CancelStepsInfo) GoString() string { +func (s Cluster) GoString() string { return s.String() } -// SetReason sets the Reason field's value. -func (s *CancelStepsInfo) SetReason(v string) *CancelStepsInfo { - s.Reason = &v +// SetApplications sets the Applications field's value. +func (s *Cluster) SetApplications(v []*Application) *Cluster { + s.Applications = v return s } -// SetStatus sets the Status field's value. -func (s *CancelStepsInfo) SetStatus(v string) *CancelStepsInfo { - s.Status = &v +// SetAutoScalingRole sets the AutoScalingRole field's value. +func (s *Cluster) SetAutoScalingRole(v string) *Cluster { + s.AutoScalingRole = &v return s } -// SetStepId sets the StepId field's value. -func (s *CancelStepsInfo) SetStepId(v string) *CancelStepsInfo { - s.StepId = &v +// SetAutoTerminate sets the AutoTerminate field's value. +func (s *Cluster) SetAutoTerminate(v bool) *Cluster { + s.AutoTerminate = &v return s } -// The input argument to the CancelSteps operation. -type CancelStepsInput struct { - _ struct{} `type:"structure"` - - // The ClusterID for which specified steps will be canceled. Use RunJobFlow - // and ListClusters to get ClusterIDs. - // - // ClusterId is a required field - ClusterId *string `type:"string" required:"true"` - - // The option to choose for cancelling RUNNING steps. By default, the value - // is SEND_INTERRUPT. - StepCancellationOption *string `type:"string" enum:"StepCancellationOption"` - - // The list of StepIDs to cancel. Use ListSteps to get steps and their states - // for the specified cluster. - // - // StepIds is a required field - StepIds []*string `type:"list" required:"true"` +// SetClusterArn sets the ClusterArn field's value. +func (s *Cluster) SetClusterArn(v string) *Cluster { + s.ClusterArn = &v + return s } -// String returns the string representation -func (s CancelStepsInput) String() string { - return awsutil.Prettify(s) +// SetConfigurations sets the Configurations field's value. +func (s *Cluster) SetConfigurations(v []*Configuration) *Cluster { + s.Configurations = v + return s } -// GoString returns the string representation -func (s CancelStepsInput) GoString() string { - return s.String() +// SetCustomAmiId sets the CustomAmiId field's value. +func (s *Cluster) SetCustomAmiId(v string) *Cluster { + s.CustomAmiId = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CancelStepsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelStepsInput"} - if s.ClusterId == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterId")) - } - if s.StepIds == nil { - invalidParams.Add(request.NewErrParamRequired("StepIds")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value. +func (s *Cluster) SetEbsRootVolumeSize(v int64) *Cluster { + s.EbsRootVolumeSize = &v + return s } -// SetClusterId sets the ClusterId field's value. -func (s *CancelStepsInput) SetClusterId(v string) *CancelStepsInput { - s.ClusterId = &v +// SetEc2InstanceAttributes sets the Ec2InstanceAttributes field's value. +func (s *Cluster) SetEc2InstanceAttributes(v *Ec2InstanceAttributes) *Cluster { + s.Ec2InstanceAttributes = v return s } -// SetStepCancellationOption sets the StepCancellationOption field's value. -func (s *CancelStepsInput) SetStepCancellationOption(v string) *CancelStepsInput { - s.StepCancellationOption = &v +// SetId sets the Id field's value. +func (s *Cluster) SetId(v string) *Cluster { + s.Id = &v return s } -// SetStepIds sets the StepIds field's value. -func (s *CancelStepsInput) SetStepIds(v []*string) *CancelStepsInput { - s.StepIds = v +// SetInstanceCollectionType sets the InstanceCollectionType field's value. +func (s *Cluster) SetInstanceCollectionType(v string) *Cluster { + s.InstanceCollectionType = &v return s } -// The output for the CancelSteps operation. -type CancelStepsOutput struct { - _ struct{} `type:"structure"` - - // A list of CancelStepsInfo, which shows the status of specified cancel requests - // for each StepID specified. - CancelStepsInfoList []*CancelStepsInfo `type:"list"` +// SetKerberosAttributes sets the KerberosAttributes field's value. +func (s *Cluster) SetKerberosAttributes(v *KerberosAttributes) *Cluster { + s.KerberosAttributes = v + return s } -// String returns the string representation -func (s CancelStepsOutput) String() string { - return awsutil.Prettify(s) +// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. +func (s *Cluster) SetLogEncryptionKmsKeyId(v string) *Cluster { + s.LogEncryptionKmsKeyId = &v + return s } -// GoString returns the string representation -func (s CancelStepsOutput) GoString() string { - return s.String() +// SetLogUri sets the LogUri field's value. +func (s *Cluster) SetLogUri(v string) *Cluster { + s.LogUri = &v + return s } -// SetCancelStepsInfoList sets the CancelStepsInfoList field's value. -func (s *CancelStepsOutput) SetCancelStepsInfoList(v []*CancelStepsInfo) *CancelStepsOutput { - s.CancelStepsInfoList = v +// SetMasterPublicDnsName sets the MasterPublicDnsName field's value. +func (s *Cluster) SetMasterPublicDnsName(v string) *Cluster { + s.MasterPublicDnsName = &v return s } -// The definition of a CloudWatch metric alarm, which determines when an automatic -// scaling activity is triggered. When the defined alarm conditions are satisfied, -// scaling activity begins. -type CloudWatchAlarmDefinition struct { - _ struct{} `type:"structure"` - - // Determines how the metric specified by MetricName is compared to the value - // specified by Threshold. - // - // ComparisonOperator is a required field - ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` - - // A CloudWatch metric dimension. - Dimensions []*MetricDimension `type:"list"` - - // The number of periods, in five-minute increments, during which the alarm - // condition must exist before the alarm triggers automatic scaling activity. - // The default value is 1. - EvaluationPeriods *int64 `type:"integer"` - - // The name of the CloudWatch metric that is watched to determine an alarm condition. - // - // MetricName is a required field - MetricName *string `type:"string" required:"true"` - - // The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce. - Namespace *string `type:"string"` - - // The period, in seconds, over which the statistic is applied. EMR CloudWatch - // metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch - // metric is specified, specify 300. - // - // Period is a required field - Period *int64 `type:"integer" required:"true"` - - // The statistic to apply to the metric associated with the alarm. The default - // is AVERAGE. - Statistic *string `type:"string" enum:"Statistic"` - - // The value against which the specified statistic is compared. - // - // Threshold is a required field - Threshold *float64 `type:"double" required:"true"` +// SetName sets the Name field's value. +func (s *Cluster) SetName(v string) *Cluster { + s.Name = &v + return s +} - // The unit of measure associated with the CloudWatch metric being watched. - // The value specified for Unit must correspond to the units specified in the - // CloudWatch metric. - Unit *string `type:"string" enum:"Unit"` +// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. +func (s *Cluster) SetNormalizedInstanceHours(v int64) *Cluster { + s.NormalizedInstanceHours = &v + return s } -// String returns the string representation -func (s CloudWatchAlarmDefinition) String() string { - return awsutil.Prettify(s) +// SetOutpostArn sets the OutpostArn field's value. +func (s *Cluster) SetOutpostArn(v string) *Cluster { + s.OutpostArn = &v + return s } -// GoString returns the string representation -func (s CloudWatchAlarmDefinition) GoString() string { - return s.String() +// SetPlacementGroups sets the PlacementGroups field's value. +func (s *Cluster) SetPlacementGroups(v []*PlacementGroupConfig) *Cluster { + s.PlacementGroups = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CloudWatchAlarmDefinition) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloudWatchAlarmDefinition"} - if s.ComparisonOperator == nil { - invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) - } - if s.MetricName == nil { - invalidParams.Add(request.NewErrParamRequired("MetricName")) - } - if s.Period == nil { - invalidParams.Add(request.NewErrParamRequired("Period")) - } - if s.Threshold == nil { - invalidParams.Add(request.NewErrParamRequired("Threshold")) - } +// SetReleaseLabel sets the ReleaseLabel field's value. +func (s *Cluster) SetReleaseLabel(v string) *Cluster { + s.ReleaseLabel = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value. +func (s *Cluster) SetRepoUpgradeOnBoot(v string) *Cluster { + s.RepoUpgradeOnBoot = &v + return s } -// SetComparisonOperator sets the ComparisonOperator field's value. -func (s *CloudWatchAlarmDefinition) SetComparisonOperator(v string) *CloudWatchAlarmDefinition { - s.ComparisonOperator = &v +// SetRequestedAmiVersion sets the RequestedAmiVersion field's value. +func (s *Cluster) SetRequestedAmiVersion(v string) *Cluster { + s.RequestedAmiVersion = &v return s } -// SetDimensions sets the Dimensions field's value. -func (s *CloudWatchAlarmDefinition) SetDimensions(v []*MetricDimension) *CloudWatchAlarmDefinition { - s.Dimensions = v +// SetRunningAmiVersion sets the RunningAmiVersion field's value. +func (s *Cluster) SetRunningAmiVersion(v string) *Cluster { + s.RunningAmiVersion = &v return s } -// SetEvaluationPeriods sets the EvaluationPeriods field's value. -func (s *CloudWatchAlarmDefinition) SetEvaluationPeriods(v int64) *CloudWatchAlarmDefinition { - s.EvaluationPeriods = &v +// SetScaleDownBehavior sets the ScaleDownBehavior field's value. +func (s *Cluster) SetScaleDownBehavior(v string) *Cluster { + s.ScaleDownBehavior = &v return s } -// SetMetricName sets the MetricName field's value. -func (s *CloudWatchAlarmDefinition) SetMetricName(v string) *CloudWatchAlarmDefinition { - s.MetricName = &v +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *Cluster) SetSecurityConfiguration(v string) *Cluster { + s.SecurityConfiguration = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *CloudWatchAlarmDefinition) SetNamespace(v string) *CloudWatchAlarmDefinition { - s.Namespace = &v +// SetServiceRole sets the ServiceRole field's value. +func (s *Cluster) SetServiceRole(v string) *Cluster { + s.ServiceRole = &v return s } -// SetPeriod sets the Period field's value. -func (s *CloudWatchAlarmDefinition) SetPeriod(v int64) *CloudWatchAlarmDefinition { - s.Period = &v +// SetStatus sets the Status field's value. +func (s *Cluster) SetStatus(v *ClusterStatus) *Cluster { + s.Status = v return s } -// SetStatistic sets the Statistic field's value. -func (s *CloudWatchAlarmDefinition) SetStatistic(v string) *CloudWatchAlarmDefinition { - s.Statistic = &v +// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. +func (s *Cluster) SetStepConcurrencyLevel(v int64) *Cluster { + s.StepConcurrencyLevel = &v return s } -// SetThreshold sets the Threshold field's value. -func (s *CloudWatchAlarmDefinition) SetThreshold(v float64) *CloudWatchAlarmDefinition { - s.Threshold = &v +// SetTags sets the Tags field's value. +func (s *Cluster) SetTags(v []*Tag) *Cluster { + s.Tags = v return s } -// SetUnit sets the Unit field's value. -func (s *CloudWatchAlarmDefinition) SetUnit(v string) *CloudWatchAlarmDefinition { - s.Unit = &v +// SetTerminationProtected sets the TerminationProtected field's value. +func (s *Cluster) SetTerminationProtected(v bool) *Cluster { + s.TerminationProtected = &v return s } -// The detailed description of the cluster. -type Cluster struct { +// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. +func (s *Cluster) SetVisibleToAllUsers(v bool) *Cluster { + s.VisibleToAllUsers = &v + return s +} + +// The reason that the cluster changed to its current state. +type ClusterStateChangeReason struct { _ struct{} `type:"structure"` - // The applications installed on this cluster. - Applications []*Application `type:"list"` + // The programmatic code for the state change reason. + Code *string `type:"string" enum:"ClusterStateChangeReasonCode"` - // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. - // The IAM role provides permissions that the automatic scaling feature requires - // to launch and terminate EC2 instances in an instance group. - AutoScalingRole *string `type:"string"` + // The descriptive message for the state change reason. + Message *string `type:"string"` +} - // Specifies whether the cluster should terminate after completing all steps. - AutoTerminate *bool `type:"boolean"` +// String returns the string representation +func (s ClusterStateChangeReason) String() string { + return awsutil.Prettify(s) +} - // The Amazon Resource Name of the cluster. - ClusterArn *string `min:"20" type:"string"` +// GoString returns the string representation +func (s ClusterStateChangeReason) GoString() string { + return s.String() +} - // Applies only to Amazon EMR releases 4.x and later. The list of Configurations - // supplied to the EMR cluster. - Configurations []*Configuration `type:"list"` +// SetCode sets the Code field's value. +func (s *ClusterStateChangeReason) SetCode(v string) *ClusterStateChangeReason { + s.Code = &v + return s +} - // Available only in Amazon EMR version 5.7.0 and later. The ID of a custom - // Amazon EBS-backed Linux AMI if the cluster uses a custom AMI. - CustomAmiId *string `type:"string"` +// SetMessage sets the Message field's value. +func (s *ClusterStateChangeReason) SetMessage(v string) *ClusterStateChangeReason { + s.Message = &v + return s +} - // The size, in GiB, of the EBS root device volume of the Linux AMI that is - // used for each EC2 instance. Available in Amazon EMR version 4.x and later. - EbsRootVolumeSize *int64 `type:"integer"` +// The detailed status of the cluster. +type ClusterStatus struct { + _ struct{} `type:"structure"` - // Provides information about the EC2 instances in a cluster grouped by category. - // For example, key name, subnet ID, IAM instance profile, and so on. - Ec2InstanceAttributes *Ec2InstanceAttributes `type:"structure"` + // The current state of the cluster. + State *string `type:"string" enum:"ClusterState"` - // The unique identifier for the cluster. - Id *string `type:"string"` + // The reason for the cluster status change. + StateChangeReason *ClusterStateChangeReason `type:"structure"` - // - // The instance fleet configuration is available only in Amazon EMR versions - // 4.8.0 and later, excluding 5.0.x versions. - // - // The instance group configuration of the cluster. A value of INSTANCE_GROUP - // indicates a uniform instance group configuration. A value of INSTANCE_FLEET - // indicates an instance fleets configuration. - InstanceCollectionType *string `type:"string" enum:"InstanceCollectionType"` + // A timeline that represents the status of a cluster over the lifetime of the + // cluster. + Timeline *ClusterTimeline `type:"structure"` +} - // Attributes for Kerberos configuration when Kerberos authentication is enabled - // using a security configuration. For more information see Use Kerberos Authentication - // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) - // in the EMR Management Guide. - KerberosAttributes *KerberosAttributes `type:"structure"` +// String returns the string representation +func (s ClusterStatus) String() string { + return awsutil.Prettify(s) +} - // The AWS KMS customer master key (CMK) used for encrypting log files. This - // attribute is only available with EMR version 5.30.0 and later, excluding - // EMR 6.0.0. - LogEncryptionKmsKeyId *string `type:"string"` +// GoString returns the string representation +func (s ClusterStatus) GoString() string { + return s.String() +} - // The path to the Amazon S3 location where logs for this cluster are stored. - LogUri *string `type:"string"` +// SetState sets the State field's value. +func (s *ClusterStatus) SetState(v string) *ClusterStatus { + s.State = &v + return s +} - // The DNS name of the master node. If the cluster is on a private subnet, this - // is the private DNS name. On a public subnet, this is the public DNS name. - MasterPublicDnsName *string `type:"string"` +// SetStateChangeReason sets the StateChangeReason field's value. +func (s *ClusterStatus) SetStateChangeReason(v *ClusterStateChangeReason) *ClusterStatus { + s.StateChangeReason = v + return s +} + +// SetTimeline sets the Timeline field's value. +func (s *ClusterStatus) SetTimeline(v *ClusterTimeline) *ClusterStatus { + s.Timeline = v + return s +} + +// The summary description of the cluster. +type ClusterSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name of the cluster. + ClusterArn *string `min:"20" type:"string"` + + // The unique identifier for the cluster. + Id *string `type:"string"` // The name of the cluster. Name *string `type:"string"` @@ -4792,566 +6058,649 @@ type Cluster struct { // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. OutpostArn *string `type:"string"` - // Placement group configured for an Amazon EMR cluster. - PlacementGroups []*PlacementGroupConfig `type:"list"` - - // The Amazon EMR release label, which determines the version of open-source - // application packages installed on the cluster. Release labels are in the - // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. - // For more information about Amazon EMR release versions and included application - // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ - // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label - // applies only to Amazon EMR releases version 4.0 and later. Earlier versions - // use AmiVersion. - ReleaseLabel *string `type:"string"` - - // Applies only when CustomAmiID is used. Specifies the type of updates that - // are applied from the Amazon Linux AMI package repositories when an instance - // boots using the AMI. - RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"` - - // The AMI version requested for this cluster. - RequestedAmiVersion *string `type:"string"` - - // The AMI version running on this cluster. - RunningAmiVersion *string `type:"string"` - - // The way that individual Amazon EC2 instances terminate when an automatic - // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR - // indicates that Amazon EMR terminates nodes at the instance-hour boundary, - // regardless of when the request to terminate the instance was submitted. This - // option is only available with Amazon EMR 5.1.0 and later and is the default - // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates - // that Amazon EMR blacklists and drains tasks from nodes before terminating - // the Amazon EC2 instances, regardless of the instance-hour boundary. With - // either behavior, Amazon EMR removes the least active nodes first and blocks - // instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION - // is available only in Amazon EMR version 4.1.0 and later, and is the default - // for versions of Amazon EMR earlier than 5.1.0. - ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` - - // The name of the security configuration applied to the cluster. - SecurityConfiguration *string `type:"string"` - - // The IAM role that will be assumed by the Amazon EMR service to access AWS - // resources on your behalf. - ServiceRole *string `type:"string"` - - // The current status details about the cluster. + // The details about the current status of the cluster. Status *ClusterStatus `type:"structure"` - - // Specifies the number of steps that can be executed concurrently. - StepConcurrencyLevel *int64 `type:"integer"` - - // A list of tags associated with a cluster. - Tags []*Tag `type:"list"` - - // Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances - // from being terminated by an API call or user intervention, or in the event - // of a cluster error. - TerminationProtected *bool `type:"boolean"` - - // Indicates whether the cluster is visible to all IAM users of the AWS account - // associated with the cluster. The default value, true, indicates that all - // IAM users in the AWS account can perform cluster actions if they have the - // proper IAM policy permissions. If this value is false, only the IAM user - // that created the cluster can perform actions. This value can be changed on - // a running cluster by using the SetVisibleToAllUsers action. You can override - // the default value of true when you create a cluster by using the VisibleToAllUsers - // parameter of the RunJobFlow action. - VisibleToAllUsers *bool `type:"boolean"` } // String returns the string representation -func (s Cluster) String() string { +func (s ClusterSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Cluster) GoString() string { +func (s ClusterSummary) GoString() string { return s.String() } -// SetApplications sets the Applications field's value. -func (s *Cluster) SetApplications(v []*Application) *Cluster { - s.Applications = v +// SetClusterArn sets the ClusterArn field's value. +func (s *ClusterSummary) SetClusterArn(v string) *ClusterSummary { + s.ClusterArn = &v return s } -// SetAutoScalingRole sets the AutoScalingRole field's value. -func (s *Cluster) SetAutoScalingRole(v string) *Cluster { - s.AutoScalingRole = &v +// SetId sets the Id field's value. +func (s *ClusterSummary) SetId(v string) *ClusterSummary { + s.Id = &v return s } -// SetAutoTerminate sets the AutoTerminate field's value. -func (s *Cluster) SetAutoTerminate(v bool) *Cluster { - s.AutoTerminate = &v +// SetName sets the Name field's value. +func (s *ClusterSummary) SetName(v string) *ClusterSummary { + s.Name = &v return s } -// SetClusterArn sets the ClusterArn field's value. -func (s *Cluster) SetClusterArn(v string) *Cluster { - s.ClusterArn = &v +// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. +func (s *ClusterSummary) SetNormalizedInstanceHours(v int64) *ClusterSummary { + s.NormalizedInstanceHours = &v return s } -// SetConfigurations sets the Configurations field's value. -func (s *Cluster) SetConfigurations(v []*Configuration) *Cluster { - s.Configurations = v +// SetOutpostArn sets the OutpostArn field's value. +func (s *ClusterSummary) SetOutpostArn(v string) *ClusterSummary { + s.OutpostArn = &v return s } -// SetCustomAmiId sets the CustomAmiId field's value. -func (s *Cluster) SetCustomAmiId(v string) *Cluster { - s.CustomAmiId = &v +// SetStatus sets the Status field's value. +func (s *ClusterSummary) SetStatus(v *ClusterStatus) *ClusterSummary { + s.Status = v return s } -// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value. -func (s *Cluster) SetEbsRootVolumeSize(v int64) *Cluster { - s.EbsRootVolumeSize = &v - return s +// Represents the timeline of the cluster's lifecycle. +type ClusterTimeline struct { + _ struct{} `type:"structure"` + + // The creation date and time of the cluster. + CreationDateTime *time.Time `type:"timestamp"` + + // The date and time when the cluster was terminated. + EndDateTime *time.Time `type:"timestamp"` + + // The date and time when the cluster was ready to run steps. + ReadyDateTime *time.Time `type:"timestamp"` } -// SetEc2InstanceAttributes sets the Ec2InstanceAttributes field's value. -func (s *Cluster) SetEc2InstanceAttributes(v *Ec2InstanceAttributes) *Cluster { - s.Ec2InstanceAttributes = v - return s +// String returns the string representation +func (s ClusterTimeline) String() string { + return awsutil.Prettify(s) } -// SetId sets the Id field's value. -func (s *Cluster) SetId(v string) *Cluster { - s.Id = &v - return s +// GoString returns the string representation +func (s ClusterTimeline) GoString() string { + return s.String() } -// SetInstanceCollectionType sets the InstanceCollectionType field's value. -func (s *Cluster) SetInstanceCollectionType(v string) *Cluster { - s.InstanceCollectionType = &v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *ClusterTimeline) SetCreationDateTime(v time.Time) *ClusterTimeline { + s.CreationDateTime = &v return s } -// SetKerberosAttributes sets the KerberosAttributes field's value. -func (s *Cluster) SetKerberosAttributes(v *KerberosAttributes) *Cluster { - s.KerberosAttributes = v +// SetEndDateTime sets the EndDateTime field's value. +func (s *ClusterTimeline) SetEndDateTime(v time.Time) *ClusterTimeline { + s.EndDateTime = &v return s } -// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. -func (s *Cluster) SetLogEncryptionKmsKeyId(v string) *Cluster { - s.LogEncryptionKmsKeyId = &v +// SetReadyDateTime sets the ReadyDateTime field's value. +func (s *ClusterTimeline) SetReadyDateTime(v time.Time) *ClusterTimeline { + s.ReadyDateTime = &v return s } -// SetLogUri sets the LogUri field's value. -func (s *Cluster) SetLogUri(v string) *Cluster { - s.LogUri = &v - return s +// An entity describing an executable that runs on a cluster. +type Command struct { + _ struct{} `type:"structure"` + + // Arguments for Amazon EMR to pass to the command for execution. + Args []*string `type:"list"` + + // The name of the command. + Name *string `type:"string"` + + // The Amazon S3 location of the command script. + ScriptPath *string `type:"string"` } -// SetMasterPublicDnsName sets the MasterPublicDnsName field's value. -func (s *Cluster) SetMasterPublicDnsName(v string) *Cluster { - s.MasterPublicDnsName = &v +// String returns the string representation +func (s Command) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Command) GoString() string { + return s.String() +} + +// SetArgs sets the Args field's value. +func (s *Command) SetArgs(v []*string) *Command { + s.Args = v return s } // SetName sets the Name field's value. -func (s *Cluster) SetName(v string) *Cluster { +func (s *Command) SetName(v string) *Command { s.Name = &v return s } -// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. -func (s *Cluster) SetNormalizedInstanceHours(v int64) *Cluster { - s.NormalizedInstanceHours = &v +// SetScriptPath sets the ScriptPath field's value. +func (s *Command) SetScriptPath(v string) *Command { + s.ScriptPath = &v return s } -// SetOutpostArn sets the OutpostArn field's value. -func (s *Cluster) SetOutpostArn(v string) *Cluster { - s.OutpostArn = &v - return s +// The EC2 unit limits for a managed scaling policy. The managed scaling activity +// of a cluster can not be above or below these limits. The limit only applies +// to the core and task nodes. The master node cannot be scaled after initial +// configuration. +type ComputeLimits struct { + _ struct{} `type:"structure"` + + // The upper boundary of EC2 units. It is measured through vCPU cores or instances + // for instance groups and measured through units for instance fleets. Managed + // scaling activities are not allowed beyond this boundary. The limit only applies + // to the core and task nodes. The master node cannot be scaled after initial + // configuration. + // + // MaximumCapacityUnits is a required field + MaximumCapacityUnits *int64 `type:"integer" required:"true"` + + // The upper boundary of EC2 units for core node type in a cluster. It is measured + // through vCPU cores or instances for instance groups and measured through + // units for instance fleets. The core units are not allowed to scale beyond + // this boundary. The parameter is used to split capacity allocation between + // core and task nodes. + MaximumCoreCapacityUnits *int64 `type:"integer"` + + // The upper boundary of On-Demand EC2 units. It is measured through vCPU cores + // or instances for instance groups and measured through units for instance + // fleets. The On-Demand units are not allowed to scale beyond this boundary. + // The parameter is used to split capacity allocation between On-Demand and + // Spot Instances. + MaximumOnDemandCapacityUnits *int64 `type:"integer"` + + // The lower boundary of EC2 units. It is measured through vCPU cores or instances + // for instance groups and measured through units for instance fleets. Managed + // scaling activities are not allowed beyond this boundary. The limit only applies + // to the core and task nodes. The master node cannot be scaled after initial + // configuration. + // + // MinimumCapacityUnits is a required field + MinimumCapacityUnits *int64 `type:"integer" required:"true"` + + // The unit type used for specifying a managed scaling policy. + // + // UnitType is a required field + UnitType *string `type:"string" required:"true" enum:"ComputeLimitsUnitType"` } -// SetPlacementGroups sets the PlacementGroups field's value. -func (s *Cluster) SetPlacementGroups(v []*PlacementGroupConfig) *Cluster { - s.PlacementGroups = v - return s +// String returns the string representation +func (s ComputeLimits) String() string { + return awsutil.Prettify(s) } -// SetReleaseLabel sets the ReleaseLabel field's value. -func (s *Cluster) SetReleaseLabel(v string) *Cluster { - s.ReleaseLabel = &v - return s +// GoString returns the string representation +func (s ComputeLimits) GoString() string { + return s.String() } -// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value. -func (s *Cluster) SetRepoUpgradeOnBoot(v string) *Cluster { - s.RepoUpgradeOnBoot = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComputeLimits) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComputeLimits"} + if s.MaximumCapacityUnits == nil { + invalidParams.Add(request.NewErrParamRequired("MaximumCapacityUnits")) + } + if s.MinimumCapacityUnits == nil { + invalidParams.Add(request.NewErrParamRequired("MinimumCapacityUnits")) + } + if s.UnitType == nil { + invalidParams.Add(request.NewErrParamRequired("UnitType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRequestedAmiVersion sets the RequestedAmiVersion field's value. -func (s *Cluster) SetRequestedAmiVersion(v string) *Cluster { - s.RequestedAmiVersion = &v +// SetMaximumCapacityUnits sets the MaximumCapacityUnits field's value. +func (s *ComputeLimits) SetMaximumCapacityUnits(v int64) *ComputeLimits { + s.MaximumCapacityUnits = &v return s } -// SetRunningAmiVersion sets the RunningAmiVersion field's value. -func (s *Cluster) SetRunningAmiVersion(v string) *Cluster { - s.RunningAmiVersion = &v +// SetMaximumCoreCapacityUnits sets the MaximumCoreCapacityUnits field's value. +func (s *ComputeLimits) SetMaximumCoreCapacityUnits(v int64) *ComputeLimits { + s.MaximumCoreCapacityUnits = &v return s } -// SetScaleDownBehavior sets the ScaleDownBehavior field's value. -func (s *Cluster) SetScaleDownBehavior(v string) *Cluster { - s.ScaleDownBehavior = &v +// SetMaximumOnDemandCapacityUnits sets the MaximumOnDemandCapacityUnits field's value. +func (s *ComputeLimits) SetMaximumOnDemandCapacityUnits(v int64) *ComputeLimits { + s.MaximumOnDemandCapacityUnits = &v return s } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *Cluster) SetSecurityConfiguration(v string) *Cluster { - s.SecurityConfiguration = &v +// SetMinimumCapacityUnits sets the MinimumCapacityUnits field's value. +func (s *ComputeLimits) SetMinimumCapacityUnits(v int64) *ComputeLimits { + s.MinimumCapacityUnits = &v return s } -// SetServiceRole sets the ServiceRole field's value. -func (s *Cluster) SetServiceRole(v string) *Cluster { - s.ServiceRole = &v +// SetUnitType sets the UnitType field's value. +func (s *ComputeLimits) SetUnitType(v string) *ComputeLimits { + s.UnitType = &v return s } -// SetStatus sets the Status field's value. -func (s *Cluster) SetStatus(v *ClusterStatus) *Cluster { - s.Status = v - return s +// +// Amazon EMR releases 4.x or later. +// +// An optional configuration specification to be used when provisioning cluster +// instances, which can include configurations for applications and software +// bundled with Amazon EMR. A configuration consists of a classification, properties, +// and optional nested configurations. A classification refers to an application-specific +// configuration file. Properties are the settings you want to change in that +// file. For more information, see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). +type Configuration struct { + _ struct{} `type:"structure"` + + // The classification within a configuration. + Classification *string `type:"string"` + + // A list of additional configurations to apply within a configuration object. + Configurations []*Configuration `type:"list"` + + // A set of properties specified within a configuration classification. + Properties map[string]*string `type:"map"` +} + +// String returns the string representation +func (s Configuration) String() string { + return awsutil.Prettify(s) } -// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. -func (s *Cluster) SetStepConcurrencyLevel(v int64) *Cluster { - s.StepConcurrencyLevel = &v - return s +// GoString returns the string representation +func (s Configuration) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *Cluster) SetTags(v []*Tag) *Cluster { - s.Tags = v +// SetClassification sets the Classification field's value. +func (s *Configuration) SetClassification(v string) *Configuration { + s.Classification = &v return s } -// SetTerminationProtected sets the TerminationProtected field's value. -func (s *Cluster) SetTerminationProtected(v bool) *Cluster { - s.TerminationProtected = &v +// SetConfigurations sets the Configurations field's value. +func (s *Configuration) SetConfigurations(v []*Configuration) *Configuration { + s.Configurations = v return s } -// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. -func (s *Cluster) SetVisibleToAllUsers(v bool) *Cluster { - s.VisibleToAllUsers = &v +// SetProperties sets the Properties field's value. +func (s *Configuration) SetProperties(v map[string]*string) *Configuration { + s.Properties = v return s } -// The reason that the cluster changed to its current state. -type ClusterStateChangeReason struct { +type CreateSecurityConfigurationInput struct { _ struct{} `type:"structure"` - // The programmatic code for the state change reason. - Code *string `type:"string" enum:"ClusterStateChangeReasonCode"` + // The name of the security configuration. + // + // Name is a required field + Name *string `type:"string" required:"true"` - // The descriptive message for the state change reason. - Message *string `type:"string"` + // The security configuration details in JSON format. For JSON parameters and + // examples, see Use Security Configurations to Set Up Cluster Security (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) + // in the Amazon EMR Management Guide. + // + // SecurityConfiguration is a required field + SecurityConfiguration *string `type:"string" required:"true"` } // String returns the string representation -func (s ClusterStateChangeReason) String() string { +func (s CreateSecurityConfigurationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ClusterStateChangeReason) GoString() string { +func (s CreateSecurityConfigurationInput) GoString() string { return s.String() } -// SetCode sets the Code field's value. -func (s *ClusterStateChangeReason) SetCode(v string) *ClusterStateChangeReason { - s.Code = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.SecurityConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityConfiguration")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateSecurityConfigurationInput) SetName(v string) *CreateSecurityConfigurationInput { + s.Name = &v return s } -// SetMessage sets the Message field's value. -func (s *ClusterStateChangeReason) SetMessage(v string) *ClusterStateChangeReason { - s.Message = &v +// SetSecurityConfiguration sets the SecurityConfiguration field's value. +func (s *CreateSecurityConfigurationInput) SetSecurityConfiguration(v string) *CreateSecurityConfigurationInput { + s.SecurityConfiguration = &v return s } -// The detailed status of the cluster. -type ClusterStatus struct { +type CreateSecurityConfigurationOutput struct { _ struct{} `type:"structure"` - // The current state of the cluster. - State *string `type:"string" enum:"ClusterState"` - - // The reason for the cluster status change. - StateChangeReason *ClusterStateChangeReason `type:"structure"` + // The date and time the security configuration was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `type:"timestamp" required:"true"` - // A timeline that represents the status of a cluster over the lifetime of the - // cluster. - Timeline *ClusterTimeline `type:"structure"` + // The name of the security configuration. + // + // Name is a required field + Name *string `type:"string" required:"true"` } // String returns the string representation -func (s ClusterStatus) String() string { +func (s CreateSecurityConfigurationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ClusterStatus) GoString() string { +func (s CreateSecurityConfigurationOutput) GoString() string { return s.String() } -// SetState sets the State field's value. -func (s *ClusterStatus) SetState(v string) *ClusterStatus { - s.State = &v - return s -} - -// SetStateChangeReason sets the StateChangeReason field's value. -func (s *ClusterStatus) SetStateChangeReason(v *ClusterStateChangeReason) *ClusterStatus { - s.StateChangeReason = v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *CreateSecurityConfigurationOutput { + s.CreationDateTime = &v return s } -// SetTimeline sets the Timeline field's value. -func (s *ClusterStatus) SetTimeline(v *ClusterTimeline) *ClusterStatus { - s.Timeline = v +// SetName sets the Name field's value. +func (s *CreateSecurityConfigurationOutput) SetName(v string) *CreateSecurityConfigurationOutput { + s.Name = &v return s } -// The summary description of the cluster. -type ClusterSummary struct { +type CreateStudioInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name of the cluster. - ClusterArn *string `min:"20" type:"string"` + // Specifies whether the Studio authenticates users using single sign-on (SSO) + // or IAM. Amazon EMR Studio currently only supports SSO authentication. + // + // AuthMode is a required field + AuthMode *string `type:"string" required:"true" enum:"AuthMode"` - // The unique identifier for the cluster. - Id *string `type:"string"` + // The default Amazon S3 location to back up EMR Studio Workspaces and notebook + // files. A Studio user can select an alternative Amazon S3 location when creating + // a Workspace. + DefaultS3Location *string `type:"string"` - // The name of the cluster. - Name *string `type:"string"` + // A detailed description of the Studio. + Description *string `type:"string"` - // An approximation of the cost of the cluster, represented in m1.small/hours. - // This value is incremented one time for every hour an m1.small instance runs. - // Larger instances are weighted more, so an EC2 instance that is roughly four - // times more expensive would result in the normalized instance hours being - // incremented by four. This result is only an approximation and does not reflect - // the actual billing rate. - NormalizedInstanceHours *int64 `type:"integer"` + // The ID of the Amazon EMR Studio Engine security group. The Engine security + // group allows inbound network traffic from the Workspace security group, and + // it must be in the same VPC specified by VpcId. + // + // EngineSecurityGroupId is a required field + EngineSecurityGroupId *string `type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. - OutpostArn *string `type:"string"` + // A descriptive name for the Amazon EMR Studio. + // + // Name is a required field + Name *string `type:"string" required:"true"` - // The details about the current status of the cluster. - Status *ClusterStatus `type:"structure"` + // The IAM role that will be assumed by the Amazon EMR Studio. The service role + // provides a way for Amazon EMR Studio to interoperate with other AWS services. + // + // ServiceRole is a required field + ServiceRole *string `type:"string" required:"true"` + + // A list of subnet IDs to associate with the Studio. The subnets must belong + // to the VPC specified by VpcId. Studio users can create a Workspace in any + // of the specified subnets. + // + // SubnetIds is a required field + SubnetIds []*string `type:"list" required:"true"` + + // A list of tags to associate with the Studio. Tags are user-defined key-value + // pairs that consist of a required key string with a maximum of 128 characters, + // and an optional value string with a maximum of 256 characters. + Tags []*Tag `type:"list"` + + // The IAM user role that will be assumed by users and groups logged in to a + // Studio. The permissions attached to this IAM role can be scoped down for + // each user or group using session policies. + // + // UserRole is a required field + UserRole *string `type:"string" required:"true"` + + // The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with + // the Studio. + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` + + // The ID of the Amazon EMR Studio Workspace security group. The Workspace security + // group allows outbound network traffic to resources in the Engine security + // group, and it must be in the same VPC specified by VpcId. + // + // WorkspaceSecurityGroupId is a required field + WorkspaceSecurityGroupId *string `type:"string" required:"true"` } // String returns the string representation -func (s ClusterSummary) String() string { +func (s CreateStudioInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ClusterSummary) GoString() string { +func (s CreateStudioInput) GoString() string { return s.String() } -// SetClusterArn sets the ClusterArn field's value. -func (s *ClusterSummary) SetClusterArn(v string) *ClusterSummary { - s.ClusterArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStudioInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStudioInput"} + if s.AuthMode == nil { + invalidParams.Add(request.NewErrParamRequired("AuthMode")) + } + if s.EngineSecurityGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("EngineSecurityGroupId")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ServiceRole == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceRole")) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.UserRole == nil { + invalidParams.Add(request.NewErrParamRequired("UserRole")) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + if s.WorkspaceSecurityGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceSecurityGroupId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetId sets the Id field's value. -func (s *ClusterSummary) SetId(v string) *ClusterSummary { - s.Id = &v +// SetAuthMode sets the AuthMode field's value. +func (s *CreateStudioInput) SetAuthMode(v string) *CreateStudioInput { + s.AuthMode = &v return s } -// SetName sets the Name field's value. -func (s *ClusterSummary) SetName(v string) *ClusterSummary { - s.Name = &v +// SetDefaultS3Location sets the DefaultS3Location field's value. +func (s *CreateStudioInput) SetDefaultS3Location(v string) *CreateStudioInput { + s.DefaultS3Location = &v return s } -// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. -func (s *ClusterSummary) SetNormalizedInstanceHours(v int64) *ClusterSummary { - s.NormalizedInstanceHours = &v +// SetDescription sets the Description field's value. +func (s *CreateStudioInput) SetDescription(v string) *CreateStudioInput { + s.Description = &v return s } -// SetOutpostArn sets the OutpostArn field's value. -func (s *ClusterSummary) SetOutpostArn(v string) *ClusterSummary { - s.OutpostArn = &v +// SetEngineSecurityGroupId sets the EngineSecurityGroupId field's value. +func (s *CreateStudioInput) SetEngineSecurityGroupId(v string) *CreateStudioInput { + s.EngineSecurityGroupId = &v return s } -// SetStatus sets the Status field's value. -func (s *ClusterSummary) SetStatus(v *ClusterStatus) *ClusterSummary { - s.Status = v +// SetName sets the Name field's value. +func (s *CreateStudioInput) SetName(v string) *CreateStudioInput { + s.Name = &v return s } -// Represents the timeline of the cluster's lifecycle. -type ClusterTimeline struct { - _ struct{} `type:"structure"` - - // The creation date and time of the cluster. - CreationDateTime *time.Time `type:"timestamp"` - - // The date and time when the cluster was terminated. - EndDateTime *time.Time `type:"timestamp"` - - // The date and time when the cluster was ready to execute steps. - ReadyDateTime *time.Time `type:"timestamp"` +// SetServiceRole sets the ServiceRole field's value. +func (s *CreateStudioInput) SetServiceRole(v string) *CreateStudioInput { + s.ServiceRole = &v + return s } -// String returns the string representation -func (s ClusterTimeline) String() string { - return awsutil.Prettify(s) +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateStudioInput) SetSubnetIds(v []*string) *CreateStudioInput { + s.SubnetIds = v + return s } -// GoString returns the string representation -func (s ClusterTimeline) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *CreateStudioInput) SetTags(v []*Tag) *CreateStudioInput { + s.Tags = v + return s } -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *ClusterTimeline) SetCreationDateTime(v time.Time) *ClusterTimeline { - s.CreationDateTime = &v +// SetUserRole sets the UserRole field's value. +func (s *CreateStudioInput) SetUserRole(v string) *CreateStudioInput { + s.UserRole = &v return s } -// SetEndDateTime sets the EndDateTime field's value. -func (s *ClusterTimeline) SetEndDateTime(v time.Time) *ClusterTimeline { - s.EndDateTime = &v +// SetVpcId sets the VpcId field's value. +func (s *CreateStudioInput) SetVpcId(v string) *CreateStudioInput { + s.VpcId = &v return s } -// SetReadyDateTime sets the ReadyDateTime field's value. -func (s *ClusterTimeline) SetReadyDateTime(v time.Time) *ClusterTimeline { - s.ReadyDateTime = &v +// SetWorkspaceSecurityGroupId sets the WorkspaceSecurityGroupId field's value. +func (s *CreateStudioInput) SetWorkspaceSecurityGroupId(v string) *CreateStudioInput { + s.WorkspaceSecurityGroupId = &v return s } -// An entity describing an executable that runs on a cluster. -type Command struct { +type CreateStudioOutput struct { _ struct{} `type:"structure"` - // Arguments for Amazon EMR to pass to the command for execution. - Args []*string `type:"list"` - - // The name of the command. - Name *string `type:"string"` + // The ID of the Amazon EMR Studio. + StudioId *string `type:"string"` - // The Amazon S3 location of the command script. - ScriptPath *string `type:"string"` + // The unique Studio access URL. + Url *string `type:"string"` } // String returns the string representation -func (s Command) String() string { +func (s CreateStudioOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Command) GoString() string { +func (s CreateStudioOutput) GoString() string { return s.String() } -// SetArgs sets the Args field's value. -func (s *Command) SetArgs(v []*string) *Command { - s.Args = v - return s -} - -// SetName sets the Name field's value. -func (s *Command) SetName(v string) *Command { - s.Name = &v +// SetStudioId sets the StudioId field's value. +func (s *CreateStudioOutput) SetStudioId(v string) *CreateStudioOutput { + s.StudioId = &v return s } -// SetScriptPath sets the ScriptPath field's value. -func (s *Command) SetScriptPath(v string) *Command { - s.ScriptPath = &v +// SetUrl sets the Url field's value. +func (s *CreateStudioOutput) SetUrl(v string) *CreateStudioOutput { + s.Url = &v return s } -// The EC2 unit limits for a managed scaling policy. The managed scaling activity -// of a cluster can not be above or below these limits. The limit only applies -// to the core and task nodes. The master node cannot be scaled after initial -// configuration. -type ComputeLimits struct { +type CreateStudioSessionMappingInput struct { _ struct{} `type:"structure"` - // The upper boundary of EC2 units. It is measured through VCPU cores or instances - // for instance groups and measured through units for instance fleets. Managed - // scaling activities are not allowed beyond this boundary. The limit only applies - // to the core and task nodes. The master node cannot be scaled after initial - // configuration. - // - // MaximumCapacityUnits is a required field - MaximumCapacityUnits *int64 `type:"integer" required:"true"` + // The globally unique identifier (GUID) of the user or group from the AWS SSO + // Identity Store. For more information, see UserId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and GroupId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) + // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId + // must be specified. + IdentityId *string `type:"string"` - // The upper boundary of EC2 units for core node type in a cluster. It is measured - // through VCPU cores or instances for instance groups and measured through - // units for instance fleets. The core units are not allowed to scale beyond - // this boundary. The parameter is used to split capacity allocation between - // core and task nodes. - MaximumCoreCapacityUnits *int64 `type:"integer"` + // The name of the user or group. For more information, see UserName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) + // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId + // must be specified. + IdentityName *string `type:"string"` - // The upper boundary of On-Demand EC2 units. It is measured through VCPU cores - // or instances for instance groups and measured through units for instance - // fleets. The On-Demand units are not allowed to scale beyond this boundary. - // The parameter is used to split capacity allocation between On-Demand and - // Spot instances. - MaximumOnDemandCapacityUnits *int64 `type:"integer"` + // Specifies whether the identity to map to the Studio is a user or a group. + // + // IdentityType is a required field + IdentityType *string `type:"string" required:"true" enum:"IdentityType"` - // The lower boundary of EC2 units. It is measured through VCPU cores or instances - // for instance groups and measured through units for instance fleets. Managed - // scaling activities are not allowed beyond this boundary. The limit only applies - // to the core and task nodes. The master node cannot be scaled after initial - // configuration. + // The Amazon Resource Name (ARN) for the session policy that will be applied + // to the user or group. Session policies refine Studio user permissions without + // the need to use multiple IAM user roles. // - // MinimumCapacityUnits is a required field - MinimumCapacityUnits *int64 `type:"integer" required:"true"` + // SessionPolicyArn is a required field + SessionPolicyArn *string `type:"string" required:"true"` - // The unit type used for specifying a managed scaling policy. + // The ID of the Amazon EMR Studio to which the user or group will be mapped. // - // UnitType is a required field - UnitType *string `type:"string" required:"true" enum:"ComputeLimitsUnitType"` + // StudioId is a required field + StudioId *string `type:"string" required:"true"` } // String returns the string representation -func (s ComputeLimits) String() string { +func (s CreateStudioSessionMappingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ComputeLimits) GoString() string { +func (s CreateStudioSessionMappingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ComputeLimits) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ComputeLimits"} - if s.MaximumCapacityUnits == nil { - invalidParams.Add(request.NewErrParamRequired("MaximumCapacityUnits")) +func (s *CreateStudioSessionMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStudioSessionMappingInput"} + if s.IdentityType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityType")) } - if s.MinimumCapacityUnits == nil { - invalidParams.Add(request.NewErrParamRequired("MinimumCapacityUnits")) + if s.SessionPolicyArn == nil { + invalidParams.Add(request.NewErrParamRequired("SessionPolicyArn")) } - if s.UnitType == nil { - invalidParams.Add(request.NewErrParamRequired("UnitType")) + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) } if invalidParams.Len() > 0 { @@ -5360,121 +6709,75 @@ func (s *ComputeLimits) Validate() error { return nil } -// SetMaximumCapacityUnits sets the MaximumCapacityUnits field's value. -func (s *ComputeLimits) SetMaximumCapacityUnits(v int64) *ComputeLimits { - s.MaximumCapacityUnits = &v +// SetIdentityId sets the IdentityId field's value. +func (s *CreateStudioSessionMappingInput) SetIdentityId(v string) *CreateStudioSessionMappingInput { + s.IdentityId = &v return s } -// SetMaximumCoreCapacityUnits sets the MaximumCoreCapacityUnits field's value. -func (s *ComputeLimits) SetMaximumCoreCapacityUnits(v int64) *ComputeLimits { - s.MaximumCoreCapacityUnits = &v +// SetIdentityName sets the IdentityName field's value. +func (s *CreateStudioSessionMappingInput) SetIdentityName(v string) *CreateStudioSessionMappingInput { + s.IdentityName = &v return s } -// SetMaximumOnDemandCapacityUnits sets the MaximumOnDemandCapacityUnits field's value. -func (s *ComputeLimits) SetMaximumOnDemandCapacityUnits(v int64) *ComputeLimits { - s.MaximumOnDemandCapacityUnits = &v +// SetIdentityType sets the IdentityType field's value. +func (s *CreateStudioSessionMappingInput) SetIdentityType(v string) *CreateStudioSessionMappingInput { + s.IdentityType = &v return s } -// SetMinimumCapacityUnits sets the MinimumCapacityUnits field's value. -func (s *ComputeLimits) SetMinimumCapacityUnits(v int64) *ComputeLimits { - s.MinimumCapacityUnits = &v +// SetSessionPolicyArn sets the SessionPolicyArn field's value. +func (s *CreateStudioSessionMappingInput) SetSessionPolicyArn(v string) *CreateStudioSessionMappingInput { + s.SessionPolicyArn = &v return s } -// SetUnitType sets the UnitType field's value. -func (s *ComputeLimits) SetUnitType(v string) *ComputeLimits { - s.UnitType = &v +// SetStudioId sets the StudioId field's value. +func (s *CreateStudioSessionMappingInput) SetStudioId(v string) *CreateStudioSessionMappingInput { + s.StudioId = &v return s } -// -// Amazon EMR releases 4.x or later. -// -// An optional configuration specification to be used when provisioning cluster -// instances, which can include configurations for applications and software -// bundled with Amazon EMR. A configuration consists of a classification, properties, -// and optional nested configurations. A classification refers to an application-specific -// configuration file. Properties are the settings you want to change in that -// file. For more information, see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). -type Configuration struct { +type CreateStudioSessionMappingOutput struct { _ struct{} `type:"structure"` - - // The classification within a configuration. - Classification *string `type:"string"` - - // A list of additional configurations to apply within a configuration object. - Configurations []*Configuration `type:"list"` - - // A set of properties specified within a configuration classification. - Properties map[string]*string `type:"map"` } // String returns the string representation -func (s Configuration) String() string { +func (s CreateStudioSessionMappingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Configuration) GoString() string { +func (s CreateStudioSessionMappingOutput) GoString() string { return s.String() } -// SetClassification sets the Classification field's value. -func (s *Configuration) SetClassification(v string) *Configuration { - s.Classification = &v - return s -} - -// SetConfigurations sets the Configurations field's value. -func (s *Configuration) SetConfigurations(v []*Configuration) *Configuration { - s.Configurations = v - return s -} - -// SetProperties sets the Properties field's value. -func (s *Configuration) SetProperties(v map[string]*string) *Configuration { - s.Properties = v - return s -} - -type CreateSecurityConfigurationInput struct { +type DeleteSecurityConfigurationInput struct { _ struct{} `type:"structure"` // The name of the security configuration. // // Name is a required field Name *string `type:"string" required:"true"` - - // The security configuration details in JSON format. For JSON parameters and - // examples, see Use Security Configurations to Set Up Cluster Security (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) - // in the Amazon EMR Management Guide. - // - // SecurityConfiguration is a required field - SecurityConfiguration *string `type:"string" required:"true"` } // String returns the string representation -func (s CreateSecurityConfigurationInput) String() string { +func (s DeleteSecurityConfigurationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateSecurityConfigurationInput) GoString() string { +func (s DeleteSecurityConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSecurityConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"} +func (s *DeleteSecurityConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSecurityConfigurationInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.SecurityConfiguration == nil { - invalidParams.Add(request.NewErrParamRequired("SecurityConfiguration")) - } if invalidParams.Len() > 0 { return invalidParams @@ -5483,77 +6786,123 @@ func (s *CreateSecurityConfigurationInput) Validate() error { } // SetName sets the Name field's value. -func (s *CreateSecurityConfigurationInput) SetName(v string) *CreateSecurityConfigurationInput { +func (s *DeleteSecurityConfigurationInput) SetName(v string) *DeleteSecurityConfigurationInput { s.Name = &v return s } -// SetSecurityConfiguration sets the SecurityConfiguration field's value. -func (s *CreateSecurityConfigurationInput) SetSecurityConfiguration(v string) *CreateSecurityConfigurationInput { - s.SecurityConfiguration = &v - return s +type DeleteSecurityConfigurationOutput struct { + _ struct{} `type:"structure"` } -type CreateSecurityConfigurationOutput struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s DeleteSecurityConfigurationOutput) String() string { + return awsutil.Prettify(s) +} - // The date and time the security configuration was created. - // - // CreationDateTime is a required field - CreationDateTime *time.Time `type:"timestamp" required:"true"` +// GoString returns the string representation +func (s DeleteSecurityConfigurationOutput) GoString() string { + return s.String() +} - // The name of the security configuration. +type DeleteStudioInput struct { + _ struct{} `type:"structure"` + + // The ID of the Amazon EMR Studio. // - // Name is a required field - Name *string `type:"string" required:"true"` + // StudioId is a required field + StudioId *string `type:"string" required:"true"` } // String returns the string representation -func (s CreateSecurityConfigurationOutput) String() string { +func (s DeleteStudioInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateSecurityConfigurationOutput) GoString() string { +func (s DeleteStudioInput) GoString() string { return s.String() } -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *CreateSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *CreateSecurityConfigurationOutput { - s.CreationDateTime = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStudioInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStudioInput"} + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetName sets the Name field's value. -func (s *CreateSecurityConfigurationOutput) SetName(v string) *CreateSecurityConfigurationOutput { - s.Name = &v +// SetStudioId sets the StudioId field's value. +func (s *DeleteStudioInput) SetStudioId(v string) *DeleteStudioInput { + s.StudioId = &v return s } -type DeleteSecurityConfigurationInput struct { +type DeleteStudioOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteStudioOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStudioOutput) GoString() string { + return s.String() +} + +type DeleteStudioSessionMappingInput struct { _ struct{} `type:"structure"` - // The name of the security configuration. + // The globally unique identifier (GUID) of the user or group to remove from + // the Amazon EMR Studio. For more information, see UserId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and GroupId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) + // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId + // must be specified. + IdentityId *string `type:"string"` + + // The name of the user name or group to remove from the Studio. For more information, + // see UserName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) + // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId + // must be specified. + IdentityName *string `type:"string"` + + // Specifies whether the identity to delete from the Studio is a user or a group. // - // Name is a required field - Name *string `type:"string" required:"true"` + // IdentityType is a required field + IdentityType *string `type:"string" required:"true" enum:"IdentityType"` + + // The ID of the Amazon EMR Studio. + // + // StudioId is a required field + StudioId *string `type:"string" required:"true"` } // String returns the string representation -func (s DeleteSecurityConfigurationInput) String() string { +func (s DeleteStudioSessionMappingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSecurityConfigurationInput) GoString() string { +func (s DeleteStudioSessionMappingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSecurityConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSecurityConfigurationInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *DeleteStudioSessionMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStudioSessionMappingInput"} + if s.IdentityType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityType")) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) } if invalidParams.Len() > 0 { @@ -5562,23 +6911,41 @@ func (s *DeleteSecurityConfigurationInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DeleteSecurityConfigurationInput) SetName(v string) *DeleteSecurityConfigurationInput { - s.Name = &v +// SetIdentityId sets the IdentityId field's value. +func (s *DeleteStudioSessionMappingInput) SetIdentityId(v string) *DeleteStudioSessionMappingInput { + s.IdentityId = &v return s } -type DeleteSecurityConfigurationOutput struct { +// SetIdentityName sets the IdentityName field's value. +func (s *DeleteStudioSessionMappingInput) SetIdentityName(v string) *DeleteStudioSessionMappingInput { + s.IdentityName = &v + return s +} + +// SetIdentityType sets the IdentityType field's value. +func (s *DeleteStudioSessionMappingInput) SetIdentityType(v string) *DeleteStudioSessionMappingInput { + s.IdentityType = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *DeleteStudioSessionMappingInput) SetStudioId(v string) *DeleteStudioSessionMappingInput { + s.StudioId = &v + return s +} + +type DeleteStudioSessionMappingOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteSecurityConfigurationOutput) String() string { +func (s DeleteStudioSessionMappingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSecurityConfigurationOutput) GoString() string { +func (s DeleteStudioSessionMappingOutput) GoString() string { return s.String() } @@ -5901,39 +7268,100 @@ func (s *DescribeStepInput) Validate() error { return nil } -// SetClusterId sets the ClusterId field's value. -func (s *DescribeStepInput) SetClusterId(v string) *DescribeStepInput { - s.ClusterId = &v - return s -} - -// SetStepId sets the StepId field's value. -func (s *DescribeStepInput) SetStepId(v string) *DescribeStepInput { - s.StepId = &v +// SetClusterId sets the ClusterId field's value. +func (s *DescribeStepInput) SetClusterId(v string) *DescribeStepInput { + s.ClusterId = &v + return s +} + +// SetStepId sets the StepId field's value. +func (s *DescribeStepInput) SetStepId(v string) *DescribeStepInput { + s.StepId = &v + return s +} + +// This output contains the description of the cluster step. +type DescribeStepOutput struct { + _ struct{} `type:"structure"` + + // The step details for the requested step identifier. + Step *Step `type:"structure"` +} + +// String returns the string representation +func (s DescribeStepOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStepOutput) GoString() string { + return s.String() +} + +// SetStep sets the Step field's value. +func (s *DescribeStepOutput) SetStep(v *Step) *DescribeStepOutput { + s.Step = v + return s +} + +type DescribeStudioInput struct { + _ struct{} `type:"structure"` + + // The Amazon EMR Studio ID. + // + // StudioId is a required field + StudioId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeStudioInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeStudioInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStudioInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStudioInput"} + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStudioId sets the StudioId field's value. +func (s *DescribeStudioInput) SetStudioId(v string) *DescribeStudioInput { + s.StudioId = &v return s } -// This output contains the description of the cluster step. -type DescribeStepOutput struct { +type DescribeStudioOutput struct { _ struct{} `type:"structure"` - // The step details for the requested step identifier. - Step *Step `type:"structure"` + // The Amazon EMR Studio details. + Studio *Studio `type:"structure"` } // String returns the string representation -func (s DescribeStepOutput) String() string { +func (s DescribeStudioOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeStepOutput) GoString() string { +func (s DescribeStudioOutput) GoString() string { return s.String() } -// SetStep sets the Step field's value. -func (s *DescribeStepOutput) SetStep(v *Step) *DescribeStepOutput { - s.Step = v +// SetStudio sets the Studio field's value. +func (s *DescribeStudioOutput) SetStudio(v *Studio) *DescribeStudioOutput { + s.Studio = v return s } @@ -6322,7 +7750,7 @@ type FailureDetails struct { // recorded. LogFile *string `type:"string"` - // The descriptive message including the error the EMR service has identified + // The descriptive message including the error the Amazon EMR service has identified // as the cause of step failure. This is text from an error log that describes // the root cause of the failure. Message *string `type:"string"` @@ -6490,6 +7918,108 @@ func (s *GetManagedScalingPolicyOutput) SetManagedScalingPolicy(v *ManagedScalin return s } +type GetStudioSessionMappingInput struct { + _ struct{} `type:"structure"` + + // The globally unique identifier (GUID) of the user or group. For more information, + // see UserId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and GroupId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) + // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId + // must be specified. + IdentityId *string `type:"string"` + + // The name of the user or group to fetch. For more information, see UserName + // (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) + // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId + // must be specified. + IdentityName *string `type:"string"` + + // Specifies whether the identity to fetch is a user or a group. + // + // IdentityType is a required field + IdentityType *string `type:"string" required:"true" enum:"IdentityType"` + + // The ID of the Amazon EMR Studio. + // + // StudioId is a required field + StudioId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStudioSessionMappingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStudioSessionMappingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStudioSessionMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStudioSessionMappingInput"} + if s.IdentityType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityType")) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentityId sets the IdentityId field's value. +func (s *GetStudioSessionMappingInput) SetIdentityId(v string) *GetStudioSessionMappingInput { + s.IdentityId = &v + return s +} + +// SetIdentityName sets the IdentityName field's value. +func (s *GetStudioSessionMappingInput) SetIdentityName(v string) *GetStudioSessionMappingInput { + s.IdentityName = &v + return s +} + +// SetIdentityType sets the IdentityType field's value. +func (s *GetStudioSessionMappingInput) SetIdentityType(v string) *GetStudioSessionMappingInput { + s.IdentityType = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetStudioSessionMappingInput) SetStudioId(v string) *GetStudioSessionMappingInput { + s.StudioId = &v + return s +} + +type GetStudioSessionMappingOutput struct { + _ struct{} `type:"structure"` + + // The session mapping details for the specified Amazon EMR Studio and identity, + // including session policy ARN and creation time. + SessionMapping *SessionMappingDetail `type:"structure"` +} + +// String returns the string representation +func (s GetStudioSessionMappingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStudioSessionMappingOutput) GoString() string { + return s.String() +} + +// SetSessionMapping sets the SessionMapping field's value. +func (s *GetStudioSessionMappingOutput) SetSessionMapping(v *SessionMappingDetail) *GetStudioSessionMappingOutput { + s.SessionMapping = v + return s +} + // A job flow step consisting of a JAR file whose main function will be executed. // The main function submits a job for Hadoop to execute and waits for the job // to finish or fail. @@ -6579,7 +8109,7 @@ type HadoopStepConfig struct { MainClass *string `type:"string"` // The list of Java properties that are set when the step runs. You can use - // these properties to pass key value pairs to your main function. + // these properties to pass key-value pairs to your main function. Properties map[string]*string `type:"map"` } @@ -6743,7 +8273,7 @@ func (s *Instance) SetStatus(v *InstanceStatus) *Instance { // Describes an instance fleet, which is a group of EC2 instances that host // a particular node type (master, core, or task) in an Amazon EMR cluster. // Instance fleets can consist of a mix of instance types and On-Demand and -// Spot instances, which are provisioned to meet a defined target capacity. +// Spot Instances, which are provisioned to meet a defined target capacity. // // The instance fleet configuration is available only in Amazon EMR versions // 4.8.0 and later, excluding 5.0.x versions. @@ -6782,10 +8312,10 @@ type InstanceFleet struct { Status *InstanceFleetStatus `type:"structure"` // The target capacity of On-Demand units for the instance fleet, which determines - // how many On-Demand instances to provision. When the instance fleet launches, - // Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. + // how many On-Demand Instances to provision. When the instance fleet launches, + // Amazon EMR tries to provision On-Demand Instances as specified by InstanceTypeConfig. // Each instance configuration has a specified WeightedCapacity. When an On-Demand - // instance is provisioned, the WeightedCapacity units count toward the target + // Instance is provisioned, the WeightedCapacity units count toward the target // capacity. Amazon EMR provisions instances until the target capacity is totally // fulfilled, even if this results in an overage. For example, if there are // 2 units remaining to fulfill capacity, and Amazon EMR can only provision @@ -6794,7 +8324,7 @@ type InstanceFleet struct { // to determine the Spot capacity units that have been provisioned for the instance // fleet. // - // If not specified or set to 0, only Spot instances are provisioned for the + // If not specified or set to 0, only Spot Instances are provisioned for the // instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity // and TargetOnDemandCapacity should be greater than 0. For a master instance // fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, @@ -6915,17 +8445,17 @@ type InstanceFleetConfig struct { Name *string `type:"string"` // The target capacity of On-Demand units for the instance fleet, which determines - // how many On-Demand instances to provision. When the instance fleet launches, - // Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. + // how many On-Demand Instances to provision. When the instance fleet launches, + // Amazon EMR tries to provision On-Demand Instances as specified by InstanceTypeConfig. // Each instance configuration has a specified WeightedCapacity. When an On-Demand - // instance is provisioned, the WeightedCapacity units count toward the target + // Instance is provisioned, the WeightedCapacity units count toward the target // capacity. Amazon EMR provisions instances until the target capacity is totally // fulfilled, even if this results in an overage. For example, if there are // 2 units remaining to fulfill capacity, and Amazon EMR can only provision // an instance with a WeightedCapacity of 5 units, the instance is provisioned, // and the target capacity is exceeded by 3 units. // - // If not specified or set to 0, only Spot instances are provisioned for the + // If not specified or set to 0, only Spot Instances are provisioned for the // instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity // and TargetOnDemandCapacity should be greater than 0. For a master instance // fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, @@ -6933,17 +8463,17 @@ type InstanceFleetConfig struct { TargetOnDemandCapacity *int64 `type:"integer"` // The target capacity of Spot units for the instance fleet, which determines - // how many Spot instances to provision. When the instance fleet launches, Amazon - // EMR tries to provision Spot instances as specified by InstanceTypeConfig. + // how many Spot Instances to provision. When the instance fleet launches, Amazon + // EMR tries to provision Spot Instances as specified by InstanceTypeConfig. // Each instance configuration has a specified WeightedCapacity. When a Spot - // instance is provisioned, the WeightedCapacity units count toward the target + // Instance is provisioned, the WeightedCapacity units count toward the target // capacity. Amazon EMR provisions instances until the target capacity is totally // fulfilled, even if this results in an overage. For example, if there are // 2 units remaining to fulfill capacity, and Amazon EMR can only provision // an instance with a WeightedCapacity of 5 units, the instance is provisioned, // and the target capacity is exceeded by 3 units. // - // If not specified or set to 0, only On-Demand instances are provisioned for + // If not specified or set to 0, only On-Demand Instances are provisioned for // the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity // should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity // and TargetOnDemandCapacity can be specified, and its value must be 1. @@ -7086,24 +8616,24 @@ func (s *InstanceFleetModifyConfig) SetTargetSpotCapacity(v int64) *InstanceFlee return s } -// The launch specification for Spot instances in the fleet, which determines +// The launch specification for Spot Instances in the fleet, which determines // the defined duration, provisioning timeout behavior, and allocation strategy. // // The instance fleet configuration is available only in Amazon EMR versions -// 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot instance allocation +// 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot Instance allocation // strategies are available in Amazon EMR version 5.12.1 and later. type InstanceFleetProvisioningSpecifications struct { _ struct{} `type:"structure"` - // The launch specification for On-Demand instances in the instance fleet, which + // The launch specification for On-Demand Instances in the instance fleet, which // determines the allocation strategy. // // The instance fleet configuration is available only in Amazon EMR versions - // 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation + // 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation // strategy is available in Amazon EMR version 5.12.1 and later. OnDemandSpecification *OnDemandProvisioningSpecification `type:"structure"` - // The launch specification for Spot instances in the fleet, which determines + // The launch specification for Spot Instances in the fleet, which determines // the defined duration, provisioning timeout behavior, and allocation strategy. SpotSpecification *SpotProvisioningSpecification `type:"structure"` } @@ -7309,7 +8839,7 @@ type InstanceGroup struct { // of a CloudWatch metric. See PutAutoScalingPolicy. AutoScalingPolicy *AutoScalingPolicyDescription `type:"structure"` - // The bid price for each EC2 Spot instance type as defined by InstanceType. + // The bid price for each EC2 Spot Instance type as defined by InstanceType. // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. BidPrice *string `type:"string"` @@ -7493,7 +9023,7 @@ type InstanceGroupConfig struct { // of a CloudWatch metric. See PutAutoScalingPolicy. AutoScalingPolicy *AutoScalingPolicy `type:"structure"` - // The bid price for each EC2 Spot instance type as defined by InstanceType. + // The bid price for each EC2 Spot Instance type as defined by InstanceType. // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. BidPrice *string `type:"string"` @@ -7632,7 +9162,7 @@ func (s *InstanceGroupConfig) SetName(v string) *InstanceGroupConfig { type InstanceGroupDetail struct { _ struct{} `type:"structure"` - // The bid price for each EC2 Spot instance type as defined by InstanceType. + // The bid price for each EC2 Spot Instance type as defined by InstanceType. // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. BidPrice *string `type:"string"` @@ -7800,7 +9330,7 @@ type InstanceGroupModifyConfig struct { // Target size for the instance group. InstanceCount *int64 `type:"integer"` - // Unique ID of the instance group to expand or shrink. + // Unique ID of the instance group to modify. // // InstanceGroupId is a required field InstanceGroupId *string `type:"string" required:"true"` @@ -8142,7 +9672,7 @@ func (s *InstanceTimeline) SetReadyDateTime(v time.Time) *InstanceTimeline { // An instance type configuration for each instance type in an instance fleet, // which determines the EC2 instances Amazon EMR attempts to provision to fulfill -// On-Demand and Spot target capacities. There can be a maximum of 5 instance +// On-Demand and Spot target capacities. There can be a maximum of five instance // type configurations in a fleet. // // The instance fleet configuration is available only in Amazon EMR versions @@ -8150,12 +9680,12 @@ func (s *InstanceTimeline) SetReadyDateTime(v time.Time) *InstanceTimeline { type InstanceTypeConfig struct { _ struct{} `type:"structure"` - // The bid price for each EC2 Spot instance type as defined by InstanceType. + // The bid price for each EC2 Spot Instance type as defined by InstanceType. // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. BidPrice *string `type:"string"` - // The bid price, as a percentage of On-Demand price, for each EC2 Spot instance + // The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance // as defined by InstanceType. Expressed as a number (for example, 20 specifies // 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, // BidPriceAsPercentageOfOnDemandPrice defaults to 100%. @@ -8166,8 +9696,8 @@ type InstanceTypeConfig struct { // the cluster. Configurations []*Configuration `type:"list"` - // The configuration of Amazon Elastic Block Storage (EBS) attached to each - // instance as defined by InstanceType. + // The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to + // each instance as defined by InstanceType. EbsConfiguration *EbsConfiguration `type:"structure"` // An EC2 instance type, such as m3.xlarge. @@ -8256,11 +9786,11 @@ func (s *InstanceTypeConfig) SetWeightedCapacity(v int64) *InstanceTypeConfig { type InstanceTypeSpecification struct { _ struct{} `type:"structure"` - // The bid price for each EC2 Spot instance type as defined by InstanceType. + // The bid price for each EC2 Spot Instance type as defined by InstanceType. // Expressed in USD. BidPrice *string `type:"string"` - // The bid price, as a percentage of On-Demand price, for each EC2 Spot instance + // The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance // as defined by InstanceType. Expressed as a number (for example, 20 specifies // 20%). BidPriceAsPercentageOfOnDemandPrice *float64 `type:"double"` @@ -8270,8 +9800,8 @@ type InstanceTypeSpecification struct { // Amazon EMR. Configurations []*Configuration `type:"list"` - // The configuration of Amazon Elastic Block Storage (EBS) attached to each - // instance as defined by InstanceType. + // The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to + // each instance as defined by InstanceType. EbsBlockDevices []*EbsBlockDevice `type:"list"` // Evaluates to TRUE when the specified InstanceType is EBS-optimized. @@ -8568,23 +10098,23 @@ type JobFlowDetail struct { // regardless of when the request to terminate the instance was submitted. This // option is only available with Amazon EMR 5.1.0 and later and is the default // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates - // that Amazon EMR blacklists and drains tasks from nodes before terminating - // the Amazon EC2 instances, regardless of the instance-hour boundary. With - // either behavior, Amazon EMR removes the least active nodes first and blocks - // instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION + // that Amazon EMR adds nodes to a deny list and drains tasks from nodes before + // terminating the Amazon EC2 instances, regardless of the instance-hour boundary. + // With either behavior, Amazon EMR removes the least active nodes first and + // blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION // available only in Amazon EMR version 4.1.0 and later, and is the default // for versions of Amazon EMR earlier than 5.1.0. ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` - // The IAM role that will be assumed by the Amazon EMR service to access AWS - // resources on your behalf. + // The IAM role that is assumed by the Amazon EMR service to access AWS resources + // on your behalf. ServiceRole *string `type:"string"` // A list of steps run by the job flow. Steps []*StepDetail `type:"list"` - // A list of strings set by third party software when the job flow is launched. - // If you are not using third party software to manage the job flow this value + // A list of strings set by third-party software when the job flow is launched. + // If you are not using third-party software to manage the job flow, this value // is empty. SupportedProducts []*string `type:"list"` @@ -8775,9 +10305,9 @@ func (s *JobFlowExecutionStatusDetail) SetState(v string) *JobFlowExecutionStatu // A description of the Amazon EC2 instance on which the cluster (job flow) // runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or -// InstanceFleets, which is the recommended configuration. They cannot be used -// together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount -// (all three must be present), but we don't recommend this configuration. +// InstanceFleets. They cannot be used together. You may also have MasterInstanceType, +// SlaveInstanceType, and InstanceCount (all three must be present), but we +// don't recommend this configuration. type JobFlowInstancesConfig struct { _ struct{} `type:"structure"` @@ -8788,8 +10318,8 @@ type JobFlowInstancesConfig struct { // nodes. AdditionalSlaveSecurityGroups []*string `type:"list"` - // The name of the EC2 key pair that can be used to ssh to the master node as - // the user called "hadoop." + // The name of the EC2 key pair that can be used to connect to the master node + // using SSH as the user called "hadoop." Ec2KeyName *string `type:"string"` // Applies to clusters that use the uniform instance group configuration. To @@ -8814,11 +10344,11 @@ type JobFlowInstancesConfig struct { EmrManagedSlaveSecurityGroup *string `type:"string"` // Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop - // version for the cluster. Valid inputs are "0.18" (deprecated), "0.20" (deprecated), - // "0.20.205" (deprecated), "1.0.3", "2.2.0", or "2.4.0". If you do not set - // this value, the default of 0.18 is used, unless the AmiVersion parameter - // is set in the RunJobFlow call, in which case the default version of Hadoop - // for that AMI version is used. + // version for the cluster. Valid inputs are "0.18" (no longer maintained), + // "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3", + // "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is + // used, unless the AmiVersion parameter is set in the RunJobFlow call, in which + // case the default version of Hadoop for that AMI version is used. HadoopVersion *string `type:"string"` // The number of EC2 instances in the cluster. @@ -9011,8 +10541,8 @@ func (s *JobFlowInstancesConfig) SetTerminationProtected(v bool) *JobFlowInstanc type JobFlowInstancesDetail struct { _ struct{} `type:"structure"` - // The name of an Amazon EC2 key pair that can be used to ssh to the master - // node. + // The name of an Amazon EC2 key pair that can be used to connect to the master + // node using SSH. Ec2KeyName *string `type:"string"` // For clusters launched within Amazon Virtual Private Cloud, this is the identifier @@ -9050,11 +10580,11 @@ type JobFlowInstancesDetail struct { MasterPublicDnsName *string `type:"string"` // An approximation of the cost of the cluster, represented in m1.small/hours. - // This value is incremented one time for every hour that an m1.small runs. - // Larger instances are weighted more, so an Amazon EC2 instance that is roughly - // four times more expensive would result in the normalized instance hours being - // incremented by four. This result is only an approximation and does not reflect - // the actual billing rate. + // This value is increased one time for every hour that an m1.small instance + // runs. Larger instances are weighted more heavily, so an Amazon EC2 instance + // that is roughly four times more expensive would result in the normalized + // instance hours being increased incrementally four times. This result is only + // an approximation and does not reflect the actual billing rate. NormalizedInstanceHours *int64 `type:"integer"` // The Amazon EC2 Availability Zone for the cluster. @@ -9162,7 +10692,7 @@ func (s *JobFlowInstancesDetail) SetTerminationProtected(v bool) *JobFlowInstanc // Attributes for Kerberos configuration when Kerberos authentication is enabled // using a security configuration. For more information see Use Kerberos Authentication // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) -// in the EMR Management Guide. +// in the Amazon EMR Management Guide. type KerberosAttributes struct { _ struct{} `type:"structure"` @@ -9248,11 +10778,11 @@ func (s *KerberosAttributes) SetRealm(v string) *KerberosAttributes { return s } -// A key value pair. +// A key-value pair. type KeyValue struct { _ struct{} `type:"structure"` - // The unique identifier of a key value pair. + // The unique identifier of a key-value pair. Key *string `type:"string"` // The value part of the identified key. @@ -10014,6 +11544,138 @@ func (s *ListStepsOutput) SetSteps(v []*StepSummary) *ListStepsOutput { return s } +type ListStudioSessionMappingsInput struct { + _ struct{} `type:"structure"` + + // Specifies whether to return session mappings for users or groups. If not + // specified, the results include session mapping details for both users and + // groups. + IdentityType *string `type:"string" enum:"IdentityType"` + + // The pagination token that indicates the set of results to retrieve. + Marker *string `type:"string"` + + // The ID of the Amazon EMR Studio. + StudioId *string `type:"string"` +} + +// String returns the string representation +func (s ListStudioSessionMappingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudioSessionMappingsInput) GoString() string { + return s.String() +} + +// SetIdentityType sets the IdentityType field's value. +func (s *ListStudioSessionMappingsInput) SetIdentityType(v string) *ListStudioSessionMappingsInput { + s.IdentityType = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *ListStudioSessionMappingsInput) SetMarker(v string) *ListStudioSessionMappingsInput { + s.Marker = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *ListStudioSessionMappingsInput) SetStudioId(v string) *ListStudioSessionMappingsInput { + s.StudioId = &v + return s +} + +type ListStudioSessionMappingsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token that indicates the next set of results to retrieve. + Marker *string `type:"string"` + + // A list of session mapping summary objects. Each object includes session mapping + // details such as creation time, identity type (user or group), and Studio + // ID. + SessionMappings []*SessionMappingSummary `type:"list"` +} + +// String returns the string representation +func (s ListStudioSessionMappingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudioSessionMappingsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListStudioSessionMappingsOutput) SetMarker(v string) *ListStudioSessionMappingsOutput { + s.Marker = &v + return s +} + +// SetSessionMappings sets the SessionMappings field's value. +func (s *ListStudioSessionMappingsOutput) SetSessionMappings(v []*SessionMappingSummary) *ListStudioSessionMappingsOutput { + s.SessionMappings = v + return s +} + +type ListStudiosInput struct { + _ struct{} `type:"structure"` + + // The pagination token that indicates the set of results to retrieve. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s ListStudiosInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudiosInput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListStudiosInput) SetMarker(v string) *ListStudiosInput { + s.Marker = &v + return s +} + +type ListStudiosOutput struct { + _ struct{} `type:"structure"` + + // The pagination token that indicates the next set of results to retrieve. + Marker *string `type:"string"` + + // The list of Studio summary objects. + Studios []*StudioSummary `type:"list"` +} + +// String returns the string representation +func (s ListStudiosOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudiosOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListStudiosOutput) SetMarker(v string) *ListStudiosOutput { + s.Marker = &v + return s +} + +// SetStudios sets the Studios field's value. +func (s *ListStudiosOutput) SetStudios(v []*StudioSummary) *ListStudiosOutput { + s.Studios = v + return s +} + // Managed scaling policy for an Amazon EMR cluster. The policy specifies the // limits for resources that can be added or terminated from a cluster. The // policy only applies to the core and task nodes. The master node cannot be @@ -10377,7 +12039,7 @@ type NotebookExecution struct { Status *string `type:"string" enum:"NotebookExecutionStatus"` // A list of tags associated with a notebook execution. Tags are user-defined - // key value pairs that consist of a required key string with a maximum of 128 + // key-value pairs that consist of a required key string with a maximum of 128 // characters and an optional value string with a maximum of 256 characters. Tags []*Tag `type:"list"` } @@ -10563,16 +12225,16 @@ func (s *NotebookExecutionSummary) SetStatus(v string) *NotebookExecutionSummary return s } -// The launch specification for On-Demand instances in the instance fleet, which +// The launch specification for On-Demand Instances in the instance fleet, which // determines the allocation strategy. // // The instance fleet configuration is available only in Amazon EMR versions -// 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation +// 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation // strategy is available in Amazon EMR version 5.12.1 and later. type OnDemandProvisioningSpecification struct { _ struct{} `type:"structure"` - // Specifies the strategy to use in launching On-Demand instance fleets. Currently, + // Specifies the strategy to use in launching On-Demand Instance fleets. Currently, // the only option is lowest-price (the default), which launches the lowest // price first. // @@ -11263,8 +12925,8 @@ type RunJobFlowInput struct { // about finding an AMI ID, see Finding a Linux AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html). CustomAmiId *string `type:"string"` - // The size, in GiB, of the EBS root device volume of the Linux AMI that is - // used for each EC2 instance. Available in Amazon EMR version 4.x and later. + // The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that + // is used for each EC2 instance. Available in Amazon EMR version 4.x and later. EbsRootVolumeSize *int64 `type:"integer"` // A specification of the number and type of Amazon EC2 instances. @@ -11281,12 +12943,13 @@ type RunJobFlowInput struct { // Attributes for Kerberos configuration when Kerberos authentication is enabled // using a security configuration. For more information see Use Kerberos Authentication // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) - // in the EMR Management Guide. + // in the Amazon EMR Management Guide. KerberosAttributes *KerberosAttributes `type:"structure"` // The AWS KMS customer master key (CMK) used for encrypting log files. If a - // value is not provided, the logs will remain encrypted by AES-256. This attribute - // is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0. + // value is not provided, the logs remain encrypted by AES-256. This attribute + // is only available with Amazon EMR version 5.30.0 and later, excluding Amazon + // EMR 6.0.0. LogEncryptionKmsKeyId *string `type:"string"` // The location in Amazon S3 to write the log files of the job flow. If a value @@ -11356,10 +13019,10 @@ type RunJobFlowInput struct { // regardless of when the request to terminate the instance was submitted. This // option is only available with Amazon EMR 5.1.0 and later and is the default // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates - // that Amazon EMR blacklists and drains tasks from nodes before terminating - // the Amazon EC2 instances, regardless of the instance-hour boundary. With - // either behavior, Amazon EMR removes the least active nodes first and blocks - // instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION + // that Amazon EMR adds nodes to a deny list and drains tasks from nodes before + // terminating the Amazon EC2 instances, regardless of the instance-hour boundary. + // With either behavior, Amazon EMR removes the least active nodes first and + // blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION // available only in Amazon EMR version 4.1.0 and later, and is the default // for versions of Amazon EMR earlier than 5.1.0. ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` @@ -11938,65 +13601,221 @@ func (s ScriptBootstrapActionConfig) String() string { } // GoString returns the string representation -func (s ScriptBootstrapActionConfig) GoString() string { +func (s ScriptBootstrapActionConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScriptBootstrapActionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScriptBootstrapActionConfig"} + if s.Path == nil { + invalidParams.Add(request.NewErrParamRequired("Path")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArgs sets the Args field's value. +func (s *ScriptBootstrapActionConfig) SetArgs(v []*string) *ScriptBootstrapActionConfig { + s.Args = v + return s +} + +// SetPath sets the Path field's value. +func (s *ScriptBootstrapActionConfig) SetPath(v string) *ScriptBootstrapActionConfig { + s.Path = &v + return s +} + +// The creation date and time, and name, of a security configuration. +type SecurityConfigurationSummary struct { + _ struct{} `type:"structure"` + + // The date and time the security configuration was created. + CreationDateTime *time.Time `type:"timestamp"` + + // The name of the security configuration. + Name *string `type:"string"` +} + +// String returns the string representation +func (s SecurityConfigurationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityConfigurationSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *SecurityConfigurationSummary) SetCreationDateTime(v time.Time) *SecurityConfigurationSummary { + s.CreationDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *SecurityConfigurationSummary) SetName(v string) *SecurityConfigurationSummary { + s.Name = &v + return s +} + +// Details for an Amazon EMR Studio session mapping including creation time, +// user or group ID, Studio ID, and so on. +type SessionMappingDetail struct { + _ struct{} `type:"structure"` + + // The time the session mapping was created. + CreationTime *time.Time `type:"timestamp"` + + // The globally unique identifier (GUID) of the user or group. + IdentityId *string `type:"string"` + + // The name of the user or group. For more information, see UserName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) + // in the AWS SSO Identity Store API Reference. + IdentityName *string `type:"string"` + + // Specifies whether the identity mapped to the Studio is a user or a group. + IdentityType *string `type:"string" enum:"IdentityType"` + + // The time the session mapping was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the session policy associated with the + // user or group. + SessionPolicyArn *string `type:"string"` + + // The ID of the Amazon EMR Studio. + StudioId *string `type:"string"` +} + +// String returns the string representation +func (s SessionMappingDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SessionMappingDetail) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ScriptBootstrapActionConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ScriptBootstrapActionConfig"} - if s.Path == nil { - invalidParams.Add(request.NewErrParamRequired("Path")) - } +// SetCreationTime sets the CreationTime field's value. +func (s *SessionMappingDetail) SetCreationTime(v time.Time) *SessionMappingDetail { + s.CreationTime = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIdentityId sets the IdentityId field's value. +func (s *SessionMappingDetail) SetIdentityId(v string) *SessionMappingDetail { + s.IdentityId = &v + return s } -// SetArgs sets the Args field's value. -func (s *ScriptBootstrapActionConfig) SetArgs(v []*string) *ScriptBootstrapActionConfig { - s.Args = v +// SetIdentityName sets the IdentityName field's value. +func (s *SessionMappingDetail) SetIdentityName(v string) *SessionMappingDetail { + s.IdentityName = &v return s } -// SetPath sets the Path field's value. -func (s *ScriptBootstrapActionConfig) SetPath(v string) *ScriptBootstrapActionConfig { - s.Path = &v +// SetIdentityType sets the IdentityType field's value. +func (s *SessionMappingDetail) SetIdentityType(v string) *SessionMappingDetail { + s.IdentityType = &v return s } -// The creation date and time, and name, of a security configuration. -type SecurityConfigurationSummary struct { +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *SessionMappingDetail) SetLastModifiedTime(v time.Time) *SessionMappingDetail { + s.LastModifiedTime = &v + return s +} + +// SetSessionPolicyArn sets the SessionPolicyArn field's value. +func (s *SessionMappingDetail) SetSessionPolicyArn(v string) *SessionMappingDetail { + s.SessionPolicyArn = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *SessionMappingDetail) SetStudioId(v string) *SessionMappingDetail { + s.StudioId = &v + return s +} + +// Details for an Amazon EMR Studio session mapping. The details do not include +// the time the session mapping was last modified. +type SessionMappingSummary struct { _ struct{} `type:"structure"` - // The date and time the security configuration was created. - CreationDateTime *time.Time `type:"timestamp"` + // The time the session mapping was created. + CreationTime *time.Time `type:"timestamp"` - // The name of the security configuration. - Name *string `type:"string"` + // The globally unique identifier (GUID) of the user or group from the AWS SSO + // Identity Store. + IdentityId *string `type:"string"` + + // The name of the user or group. For more information, see UserName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) + // in the AWS SSO Identity Store API Reference. + IdentityName *string `type:"string"` + + // Specifies whether the identity mapped to the Studio is a user or a group. + IdentityType *string `type:"string" enum:"IdentityType"` + + // The Amazon Resource Name (ARN) of the session policy associated with the + // user or group. + SessionPolicyArn *string `type:"string"` + + // The ID of the Amazon EMR Studio. + StudioId *string `type:"string"` } // String returns the string representation -func (s SecurityConfigurationSummary) String() string { +func (s SessionMappingSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SecurityConfigurationSummary) GoString() string { +func (s SessionMappingSummary) GoString() string { return s.String() } -// SetCreationDateTime sets the CreationDateTime field's value. -func (s *SecurityConfigurationSummary) SetCreationDateTime(v time.Time) *SecurityConfigurationSummary { - s.CreationDateTime = &v +// SetCreationTime sets the CreationTime field's value. +func (s *SessionMappingSummary) SetCreationTime(v time.Time) *SessionMappingSummary { + s.CreationTime = &v return s } -// SetName sets the Name field's value. -func (s *SecurityConfigurationSummary) SetName(v string) *SecurityConfigurationSummary { - s.Name = &v +// SetIdentityId sets the IdentityId field's value. +func (s *SessionMappingSummary) SetIdentityId(v string) *SessionMappingSummary { + s.IdentityId = &v + return s +} + +// SetIdentityName sets the IdentityName field's value. +func (s *SessionMappingSummary) SetIdentityName(v string) *SessionMappingSummary { + s.IdentityName = &v + return s +} + +// SetIdentityType sets the IdentityType field's value. +func (s *SessionMappingSummary) SetIdentityType(v string) *SessionMappingSummary { + s.IdentityType = &v + return s +} + +// SetSessionPolicyArn sets the SessionPolicyArn field's value. +func (s *SessionMappingSummary) SetSessionPolicyArn(v string) *SessionMappingSummary { + s.SessionPolicyArn = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *SessionMappingSummary) SetStudioId(v string) *SessionMappingSummary { + s.StudioId = &v return s } @@ -12253,43 +14072,43 @@ func (s *SimpleScalingPolicyConfiguration) SetScalingAdjustment(v int64) *Simple return s } -// The launch specification for Spot instances in the instance fleet, which +// The launch specification for Spot Instances in the instance fleet, which // determines the defined duration, provisioning timeout behavior, and allocation // strategy. // // The instance fleet configuration is available only in Amazon EMR versions -// 4.8.0 and later, excluding 5.0.x versions. Spot instance allocation strategy +// 4.8.0 and later, excluding 5.0.x versions. Spot Instance allocation strategy // is available in Amazon EMR version 5.12.1 and later. type SpotProvisioningSpecification struct { _ struct{} `type:"structure"` - // Specifies the strategy to use in launching Spot instance fleets. Currently, + // Specifies the strategy to use in launching Spot Instance fleets. Currently, // the only option is capacity-optimized (the default), which launches instances - // from Spot instance pools with optimal capacity for the number of instances + // from Spot Instance pools with optimal capacity for the number of instances // that are launching. AllocationStrategy *string `type:"string" enum:"SpotProvisioningAllocationStrategy"` - // The defined duration for Spot instances (also known as Spot blocks) in minutes. - // When specified, the Spot instance does not terminate before the defined duration + // The defined duration for Spot Instances (also known as Spot blocks) in minutes. + // When specified, the Spot Instance does not terminate before the defined duration // expires, and defined duration pricing for Spot instances applies. Valid values // are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as - // a Spot instance receives its instance ID. At the end of the duration, Amazon - // EC2 marks the Spot instance for termination and provides a Spot instance + // a Spot Instance receives its instance ID. At the end of the duration, Amazon + // EC2 marks the Spot Instance for termination and provides a Spot Instance // termination notice, which gives the instance a two-minute warning before // it terminates. BlockDurationMinutes *int64 `type:"integer"` // The action to take when TargetSpotCapacity has not been fulfilled when the - // TimeoutDurationMinutes has expired; that is, when all Spot instances could + // TimeoutDurationMinutes has expired; that is, when all Spot Instances could // not be provisioned within the Spot provisioning timeout. Valid values are // TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies - // that if no Spot instances are available, On-Demand Instances should be provisioned + // that if no Spot Instances are available, On-Demand Instances should be provisioned // to fulfill any remaining Spot capacity. // // TimeoutAction is a required field TimeoutAction *string `type:"string" required:"true" enum:"SpotProvisioningTimeoutAction"` - // The spot provisioning timeout period in minutes. If Spot instances are not + // The spot provisioning timeout period in minutes. If Spot Instances are not // provisioned within this time period, the TimeOutAction is taken. Minimum // value is 5 and maximum value is 1440. The timeout applies only during initial // provisioning, when the cluster is first created. @@ -12389,7 +14208,7 @@ type StartNotebookExecutionInput struct { ServiceRole *string `type:"string" required:"true"` // A list of tags associated with a notebook execution. Tags are user-defined - // key value pairs that consist of a required key string with a maximum of 128 + // key-value pairs that consist of a required key string with a maximum of 128 // characters and an optional value string with a maximum of 256 characters. Tags []*Tag `type:"list"` } @@ -12976,6 +14795,235 @@ func (s StopNotebookExecutionOutput) GoString() string { return s.String() } +// Details for an Amazon EMR Studio including ID, creation time, name, and so +// on. +type Studio struct { + _ struct{} `type:"structure"` + + // Specifies whether the Studio authenticates users using single sign-on (SSO) + // or IAM. + AuthMode *string `type:"string" enum:"AuthMode"` + + // The time the Amazon EMR Studio was created. + CreationTime *time.Time `type:"timestamp"` + + // The default Amazon S3 location to back up Amazon EMR Studio Workspaces and + // notebook files. + DefaultS3Location *string `type:"string"` + + // The detailed description of the EMR Studio. + Description *string `type:"string"` + + // The ID of the Engine security group associated with the Amazon EMR Studio. + // The Engine security group allows inbound network traffic from resources in + // the Workspace security group. + EngineSecurityGroupId *string `type:"string"` + + // The name of the EMR Studio. + Name *string `type:"string"` + + // The name of the IAM role assumed by the Amazon EMR Studio. + ServiceRole *string `type:"string"` + + // The Amazon Resource Name (ARN) of the EMR Studio. + StudioArn *string `type:"string"` + + // The ID of the EMR Studio. + StudioId *string `type:"string"` + + // The list of IDs of the subnets associated with the Amazon EMR Studio. + SubnetIds []*string `type:"list"` + + // A list of tags associated with the Amazon EMR Studio. + Tags []*Tag `type:"list"` + + // The unique access URL of the Amazon EMR Studio. + Url *string `type:"string"` + + // The name of the IAM role assumed by users logged in to the Amazon EMR Studio. + UserRole *string `type:"string"` + + // The ID of the VPC associated with the EMR Studio. + VpcId *string `type:"string"` + + // The ID of the Workspace security group associated with the Amazon EMR Studio. + // The Workspace security group allows outbound network traffic to resources + // in the Engine security group and to the internet. + WorkspaceSecurityGroupId *string `type:"string"` +} + +// String returns the string representation +func (s Studio) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Studio) GoString() string { + return s.String() +} + +// SetAuthMode sets the AuthMode field's value. +func (s *Studio) SetAuthMode(v string) *Studio { + s.AuthMode = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Studio) SetCreationTime(v time.Time) *Studio { + s.CreationTime = &v + return s +} + +// SetDefaultS3Location sets the DefaultS3Location field's value. +func (s *Studio) SetDefaultS3Location(v string) *Studio { + s.DefaultS3Location = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Studio) SetDescription(v string) *Studio { + s.Description = &v + return s +} + +// SetEngineSecurityGroupId sets the EngineSecurityGroupId field's value. +func (s *Studio) SetEngineSecurityGroupId(v string) *Studio { + s.EngineSecurityGroupId = &v + return s +} + +// SetName sets the Name field's value. +func (s *Studio) SetName(v string) *Studio { + s.Name = &v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *Studio) SetServiceRole(v string) *Studio { + s.ServiceRole = &v + return s +} + +// SetStudioArn sets the StudioArn field's value. +func (s *Studio) SetStudioArn(v string) *Studio { + s.StudioArn = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *Studio) SetStudioId(v string) *Studio { + s.StudioId = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *Studio) SetSubnetIds(v []*string) *Studio { + s.SubnetIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *Studio) SetTags(v []*Tag) *Studio { + s.Tags = v + return s +} + +// SetUrl sets the Url field's value. +func (s *Studio) SetUrl(v string) *Studio { + s.Url = &v + return s +} + +// SetUserRole sets the UserRole field's value. +func (s *Studio) SetUserRole(v string) *Studio { + s.UserRole = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *Studio) SetVpcId(v string) *Studio { + s.VpcId = &v + return s +} + +// SetWorkspaceSecurityGroupId sets the WorkspaceSecurityGroupId field's value. +func (s *Studio) SetWorkspaceSecurityGroupId(v string) *Studio { + s.WorkspaceSecurityGroupId = &v + return s +} + +// Details for an Amazon EMR Studio, including ID, Name, VPC, and Description. +// The details do not include subnets, IAM roles, security groups, or tags associated +// with the Studio. +type StudioSummary struct { + _ struct{} `type:"structure"` + + // The time when the Amazon EMR Studio was created. + CreationTime *time.Time `type:"timestamp"` + + // The detailed description of the EMR Studio. + Description *string `type:"string"` + + // The name of the Amazon EMR Studio. + Name *string `type:"string"` + + // The ID of the Amazon EMR Studio. + StudioId *string `type:"string"` + + // The unique access URL of the Amazon EMR Studio. + Url *string `type:"string"` + + // The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon + // EMR Studio. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s StudioSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StudioSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *StudioSummary) SetCreationTime(v time.Time) *StudioSummary { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *StudioSummary) SetDescription(v string) *StudioSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *StudioSummary) SetName(v string) *StudioSummary { + s.Name = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *StudioSummary) SetStudioId(v string) *StudioSummary { + s.StudioId = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *StudioSummary) SetUrl(v string) *StudioSummary { + s.Url = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *StudioSummary) SetVpcId(v string) *StudioSummary { + s.VpcId = &v + return s +} + // The list of supported product configurations which allow user-supplied arguments. // EMR accepts these arguments and forwards them to the corresponding installation // script as bootstrap action arguments. @@ -13011,7 +15059,7 @@ func (s *SupportedProductConfig) SetName(v string) *SupportedProductConfig { return s } -// A key/value pair containing user-defined metadata that you can associate +// A key-value pair containing user-defined metadata that you can associate // with an Amazon EMR resource. Tags make it easier to associate clusters in // various ways, such as grouping clusters to track your Amazon EMR resource // allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). @@ -13053,7 +15101,7 @@ func (s *Tag) SetValue(v string) *Tag { type TerminateJobFlowsInput struct { _ struct{} `type:"structure"` - // A list of job flows to be shutdown. + // A list of job flows to be shut down. // // JobFlowIds is a required field JobFlowIds []*string `type:"list" required:"true"` @@ -13102,6 +15150,113 @@ func (s TerminateJobFlowsOutput) GoString() string { return s.String() } +type UpdateStudioSessionMappingInput struct { + _ struct{} `type:"structure"` + + // The globally unique identifier (GUID) of the user or group. For more information, + // see UserId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and GroupId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) + // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId + // must be specified. + IdentityId *string `type:"string"` + + // The name of the user or group to update. For more information, see UserName + // (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) + // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) + // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId + // must be specified. + IdentityName *string `type:"string"` + + // Specifies whether the identity to update is a user or a group. + // + // IdentityType is a required field + IdentityType *string `type:"string" required:"true" enum:"IdentityType"` + + // The Amazon Resource Name (ARN) of the session policy to associate with the + // specified user or group. + // + // SessionPolicyArn is a required field + SessionPolicyArn *string `type:"string" required:"true"` + + // The ID of the EMR Studio. + // + // StudioId is a required field + StudioId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateStudioSessionMappingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStudioSessionMappingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStudioSessionMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStudioSessionMappingInput"} + if s.IdentityType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityType")) + } + if s.SessionPolicyArn == nil { + invalidParams.Add(request.NewErrParamRequired("SessionPolicyArn")) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentityId sets the IdentityId field's value. +func (s *UpdateStudioSessionMappingInput) SetIdentityId(v string) *UpdateStudioSessionMappingInput { + s.IdentityId = &v + return s +} + +// SetIdentityName sets the IdentityName field's value. +func (s *UpdateStudioSessionMappingInput) SetIdentityName(v string) *UpdateStudioSessionMappingInput { + s.IdentityName = &v + return s +} + +// SetIdentityType sets the IdentityType field's value. +func (s *UpdateStudioSessionMappingInput) SetIdentityType(v string) *UpdateStudioSessionMappingInput { + s.IdentityType = &v + return s +} + +// SetSessionPolicyArn sets the SessionPolicyArn field's value. +func (s *UpdateStudioSessionMappingInput) SetSessionPolicyArn(v string) *UpdateStudioSessionMappingInput { + s.SessionPolicyArn = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *UpdateStudioSessionMappingInput) SetStudioId(v string) *UpdateStudioSessionMappingInput { + s.StudioId = &v + return s +} + +type UpdateStudioSessionMappingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateStudioSessionMappingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStudioSessionMappingOutput) GoString() string { + return s.String() +} + // EBS volume specifications such as volume type, IOPS, and size (GiB) that // will be requested for the EBS volume attached to an EC2 instance in the cluster. type VolumeSpecification struct { @@ -13210,6 +15365,22 @@ func AdjustmentType_Values() []string { } } +const ( + // AuthModeSso is a AuthMode enum value + AuthModeSso = "SSO" + + // AuthModeIam is a AuthMode enum value + AuthModeIam = "IAM" +) + +// AuthMode_Values returns all elements of the AuthMode enum +func AuthMode_Values() []string { + return []string{ + AuthModeSso, + AuthModeIam, + } +} + const ( // AutoScalingPolicyStatePending is a AutoScalingPolicyState enum value AutoScalingPolicyStatePending = "PENDING" @@ -13410,6 +15581,22 @@ func ExecutionEngineType_Values() []string { } } +const ( + // IdentityTypeUser is a IdentityType enum value + IdentityTypeUser = "USER" + + // IdentityTypeGroup is a IdentityType enum value + IdentityTypeGroup = "GROUP" +) + +// IdentityType_Values returns all elements of the IdentityType enum +func IdentityType_Values() []string { + return []string{ + IdentityTypeUser, + IdentityTypeGroup, + } +} + const ( // InstanceCollectionTypeInstanceFleet is a InstanceCollectionType enum value InstanceCollectionTypeInstanceFleet = "INSTANCE_FLEET" diff --git a/service/emr/doc.go b/service/emr/doc.go index 772b2d0930..bc4a4d5e9e 100644 --- a/service/emr/doc.go +++ b/service/emr/doc.go @@ -3,10 +3,10 @@ // Package emr provides the client and types for making API // requests to Amazon Elastic MapReduce. // -// Amazon EMR is a web service that makes it easy to process large amounts of -// data efficiently. Amazon EMR uses Hadoop processing combined with several -// AWS products to do tasks such as web indexing, data mining, log file analysis, -// machine learning, scientific simulation, and data warehousing. +// Amazon EMR is a web service that makes it easier to process large amounts +// of data efficiently. Amazon EMR uses Hadoop processing combined with several +// AWS services to do tasks such as web indexing, data mining, log file analysis, +// machine learning, scientific simulation, and data warehouse management. // // See https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31 for more information on this service. // diff --git a/service/emr/emriface/interface.go b/service/emr/emriface/interface.go index fe1506f17d..a5402ea609 100644 --- a/service/emr/emriface/interface.go +++ b/service/emr/emriface/interface.go @@ -84,10 +84,26 @@ type EMRAPI interface { CreateSecurityConfigurationWithContext(aws.Context, *emr.CreateSecurityConfigurationInput, ...request.Option) (*emr.CreateSecurityConfigurationOutput, error) CreateSecurityConfigurationRequest(*emr.CreateSecurityConfigurationInput) (*request.Request, *emr.CreateSecurityConfigurationOutput) + CreateStudio(*emr.CreateStudioInput) (*emr.CreateStudioOutput, error) + CreateStudioWithContext(aws.Context, *emr.CreateStudioInput, ...request.Option) (*emr.CreateStudioOutput, error) + CreateStudioRequest(*emr.CreateStudioInput) (*request.Request, *emr.CreateStudioOutput) + + CreateStudioSessionMapping(*emr.CreateStudioSessionMappingInput) (*emr.CreateStudioSessionMappingOutput, error) + CreateStudioSessionMappingWithContext(aws.Context, *emr.CreateStudioSessionMappingInput, ...request.Option) (*emr.CreateStudioSessionMappingOutput, error) + CreateStudioSessionMappingRequest(*emr.CreateStudioSessionMappingInput) (*request.Request, *emr.CreateStudioSessionMappingOutput) + DeleteSecurityConfiguration(*emr.DeleteSecurityConfigurationInput) (*emr.DeleteSecurityConfigurationOutput, error) DeleteSecurityConfigurationWithContext(aws.Context, *emr.DeleteSecurityConfigurationInput, ...request.Option) (*emr.DeleteSecurityConfigurationOutput, error) DeleteSecurityConfigurationRequest(*emr.DeleteSecurityConfigurationInput) (*request.Request, *emr.DeleteSecurityConfigurationOutput) + DeleteStudio(*emr.DeleteStudioInput) (*emr.DeleteStudioOutput, error) + DeleteStudioWithContext(aws.Context, *emr.DeleteStudioInput, ...request.Option) (*emr.DeleteStudioOutput, error) + DeleteStudioRequest(*emr.DeleteStudioInput) (*request.Request, *emr.DeleteStudioOutput) + + DeleteStudioSessionMapping(*emr.DeleteStudioSessionMappingInput) (*emr.DeleteStudioSessionMappingOutput, error) + DeleteStudioSessionMappingWithContext(aws.Context, *emr.DeleteStudioSessionMappingInput, ...request.Option) (*emr.DeleteStudioSessionMappingOutput, error) + DeleteStudioSessionMappingRequest(*emr.DeleteStudioSessionMappingInput) (*request.Request, *emr.DeleteStudioSessionMappingOutput) + DescribeCluster(*emr.DescribeClusterInput) (*emr.DescribeClusterOutput, error) DescribeClusterWithContext(aws.Context, *emr.DescribeClusterInput, ...request.Option) (*emr.DescribeClusterOutput, error) DescribeClusterRequest(*emr.DescribeClusterInput) (*request.Request, *emr.DescribeClusterOutput) @@ -108,6 +124,10 @@ type EMRAPI interface { DescribeStepWithContext(aws.Context, *emr.DescribeStepInput, ...request.Option) (*emr.DescribeStepOutput, error) DescribeStepRequest(*emr.DescribeStepInput) (*request.Request, *emr.DescribeStepOutput) + DescribeStudio(*emr.DescribeStudioInput) (*emr.DescribeStudioOutput, error) + DescribeStudioWithContext(aws.Context, *emr.DescribeStudioInput, ...request.Option) (*emr.DescribeStudioOutput, error) + DescribeStudioRequest(*emr.DescribeStudioInput) (*request.Request, *emr.DescribeStudioOutput) + GetBlockPublicAccessConfiguration(*emr.GetBlockPublicAccessConfigurationInput) (*emr.GetBlockPublicAccessConfigurationOutput, error) GetBlockPublicAccessConfigurationWithContext(aws.Context, *emr.GetBlockPublicAccessConfigurationInput, ...request.Option) (*emr.GetBlockPublicAccessConfigurationOutput, error) GetBlockPublicAccessConfigurationRequest(*emr.GetBlockPublicAccessConfigurationInput) (*request.Request, *emr.GetBlockPublicAccessConfigurationOutput) @@ -116,6 +136,10 @@ type EMRAPI interface { GetManagedScalingPolicyWithContext(aws.Context, *emr.GetManagedScalingPolicyInput, ...request.Option) (*emr.GetManagedScalingPolicyOutput, error) GetManagedScalingPolicyRequest(*emr.GetManagedScalingPolicyInput) (*request.Request, *emr.GetManagedScalingPolicyOutput) + GetStudioSessionMapping(*emr.GetStudioSessionMappingInput) (*emr.GetStudioSessionMappingOutput, error) + GetStudioSessionMappingWithContext(aws.Context, *emr.GetStudioSessionMappingInput, ...request.Option) (*emr.GetStudioSessionMappingOutput, error) + GetStudioSessionMappingRequest(*emr.GetStudioSessionMappingInput) (*request.Request, *emr.GetStudioSessionMappingOutput) + ListBootstrapActions(*emr.ListBootstrapActionsInput) (*emr.ListBootstrapActionsOutput, error) ListBootstrapActionsWithContext(aws.Context, *emr.ListBootstrapActionsInput, ...request.Option) (*emr.ListBootstrapActionsOutput, error) ListBootstrapActionsRequest(*emr.ListBootstrapActionsInput) (*request.Request, *emr.ListBootstrapActionsOutput) @@ -172,6 +196,20 @@ type EMRAPI interface { ListStepsPages(*emr.ListStepsInput, func(*emr.ListStepsOutput, bool) bool) error ListStepsPagesWithContext(aws.Context, *emr.ListStepsInput, func(*emr.ListStepsOutput, bool) bool, ...request.Option) error + ListStudioSessionMappings(*emr.ListStudioSessionMappingsInput) (*emr.ListStudioSessionMappingsOutput, error) + ListStudioSessionMappingsWithContext(aws.Context, *emr.ListStudioSessionMappingsInput, ...request.Option) (*emr.ListStudioSessionMappingsOutput, error) + ListStudioSessionMappingsRequest(*emr.ListStudioSessionMappingsInput) (*request.Request, *emr.ListStudioSessionMappingsOutput) + + ListStudioSessionMappingsPages(*emr.ListStudioSessionMappingsInput, func(*emr.ListStudioSessionMappingsOutput, bool) bool) error + ListStudioSessionMappingsPagesWithContext(aws.Context, *emr.ListStudioSessionMappingsInput, func(*emr.ListStudioSessionMappingsOutput, bool) bool, ...request.Option) error + + ListStudios(*emr.ListStudiosInput) (*emr.ListStudiosOutput, error) + ListStudiosWithContext(aws.Context, *emr.ListStudiosInput, ...request.Option) (*emr.ListStudiosOutput, error) + ListStudiosRequest(*emr.ListStudiosInput) (*request.Request, *emr.ListStudiosOutput) + + ListStudiosPages(*emr.ListStudiosInput, func(*emr.ListStudiosOutput, bool) bool) error + ListStudiosPagesWithContext(aws.Context, *emr.ListStudiosInput, func(*emr.ListStudiosOutput, bool) bool, ...request.Option) error + ModifyCluster(*emr.ModifyClusterInput) (*emr.ModifyClusterOutput, error) ModifyClusterWithContext(aws.Context, *emr.ModifyClusterInput, ...request.Option) (*emr.ModifyClusterOutput, error) ModifyClusterRequest(*emr.ModifyClusterInput) (*request.Request, *emr.ModifyClusterOutput) @@ -232,6 +270,10 @@ type EMRAPI interface { TerminateJobFlowsWithContext(aws.Context, *emr.TerminateJobFlowsInput, ...request.Option) (*emr.TerminateJobFlowsOutput, error) TerminateJobFlowsRequest(*emr.TerminateJobFlowsInput) (*request.Request, *emr.TerminateJobFlowsOutput) + UpdateStudioSessionMapping(*emr.UpdateStudioSessionMappingInput) (*emr.UpdateStudioSessionMappingOutput, error) + UpdateStudioSessionMappingWithContext(aws.Context, *emr.UpdateStudioSessionMappingInput, ...request.Option) (*emr.UpdateStudioSessionMappingOutput, error) + UpdateStudioSessionMappingRequest(*emr.UpdateStudioSessionMappingInput) (*request.Request, *emr.UpdateStudioSessionMappingOutput) + WaitUntilClusterRunning(*emr.DescribeClusterInput) error WaitUntilClusterRunningWithContext(aws.Context, *emr.DescribeClusterInput, ...request.WaiterOption) error diff --git a/service/forecastservice/api.go b/service/forecastservice/api.go index 798300e69b..cdffe23557 100644 --- a/service/forecastservice/api.go +++ b/service/forecastservice/api.go @@ -707,6 +707,104 @@ func (c *ForecastService) CreatePredictorWithContext(ctx aws.Context, input *Cre return out, req.Send() } +const opCreatePredictorBacktestExportJob = "CreatePredictorBacktestExportJob" + +// CreatePredictorBacktestExportJobRequest generates a "aws/request.Request" representing the +// client's request for the CreatePredictorBacktestExportJob 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 CreatePredictorBacktestExportJob for more information on using the CreatePredictorBacktestExportJob +// 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 CreatePredictorBacktestExportJobRequest method. +// req, resp := client.CreatePredictorBacktestExportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreatePredictorBacktestExportJob +func (c *ForecastService) CreatePredictorBacktestExportJobRequest(input *CreatePredictorBacktestExportJobInput) (req *request.Request, output *CreatePredictorBacktestExportJobOutput) { + op := &request.Operation{ + Name: opCreatePredictorBacktestExportJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePredictorBacktestExportJobInput{} + } + + output = &CreatePredictorBacktestExportJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePredictorBacktestExportJob API operation for Amazon Forecast Service. +// +// Exports backtest forecasts and accuracy metrics generated by the CreatePredictor +// operation. Two CSV files are exported to a specified S3 bucket. +// +// You must specify a DataDestination object that includes an AWS Identity and +// Access Management (IAM) role that Amazon Forecast can assume to access the +// Amazon S3 bucket. For more information, see aws-forecast-iam-roles. +// +// 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 Forecast Service's +// API operation CreatePredictorBacktestExportJob for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// * ResourceAlreadyExistsException +// There is already a resource with this name. Try again with a different name. +// +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// * ResourceInUseException +// The specified resource is in use. +// +// * LimitExceededException +// The limit on the number of resources per account has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreatePredictorBacktestExportJob +func (c *ForecastService) CreatePredictorBacktestExportJob(input *CreatePredictorBacktestExportJobInput) (*CreatePredictorBacktestExportJobOutput, error) { + req, out := c.CreatePredictorBacktestExportJobRequest(input) + return out, req.Send() +} + +// CreatePredictorBacktestExportJobWithContext is the same as CreatePredictorBacktestExportJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePredictorBacktestExportJob 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 *ForecastService) CreatePredictorBacktestExportJobWithContext(ctx aws.Context, input *CreatePredictorBacktestExportJobInput, opts ...request.Option) (*CreatePredictorBacktestExportJobOutput, error) { + req, out := c.CreatePredictorBacktestExportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDataset = "DeleteDataset" // DeleteDatasetRequest generates a "aws/request.Request" representing the @@ -1256,6 +1354,94 @@ func (c *ForecastService) DeletePredictorWithContext(ctx aws.Context, input *Del return out, req.Send() } +const opDeletePredictorBacktestExportJob = "DeletePredictorBacktestExportJob" + +// DeletePredictorBacktestExportJobRequest generates a "aws/request.Request" representing the +// client's request for the DeletePredictorBacktestExportJob 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 DeletePredictorBacktestExportJob for more information on using the DeletePredictorBacktestExportJob +// 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 DeletePredictorBacktestExportJobRequest method. +// req, resp := client.DeletePredictorBacktestExportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeletePredictorBacktestExportJob +func (c *ForecastService) DeletePredictorBacktestExportJobRequest(input *DeletePredictorBacktestExportJobInput) (req *request.Request, output *DeletePredictorBacktestExportJobOutput) { + op := &request.Operation{ + Name: opDeletePredictorBacktestExportJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeletePredictorBacktestExportJobInput{} + } + + output = &DeletePredictorBacktestExportJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePredictorBacktestExportJob API operation for Amazon Forecast Service. +// +// Deletes a predictor backtest export job. +// +// 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 Forecast Service's +// API operation DeletePredictorBacktestExportJob for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// * ResourceInUseException +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeletePredictorBacktestExportJob +func (c *ForecastService) DeletePredictorBacktestExportJob(input *DeletePredictorBacktestExportJobInput) (*DeletePredictorBacktestExportJobOutput, error) { + req, out := c.DeletePredictorBacktestExportJobRequest(input) + return out, req.Send() +} + +// DeletePredictorBacktestExportJobWithContext is the same as DeletePredictorBacktestExportJob with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePredictorBacktestExportJob 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 *ForecastService) DeletePredictorBacktestExportJobWithContext(ctx aws.Context, input *DeletePredictorBacktestExportJobInput, opts ...request.Option) (*DeletePredictorBacktestExportJobOutput, error) { + req, out := c.DeletePredictorBacktestExportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeDataset = "DescribeDataset" // DescribeDatasetRequest generates a "aws/request.Request" representing the @@ -1837,6 +2023,102 @@ func (c *ForecastService) DescribePredictorWithContext(ctx aws.Context, input *D return out, req.Send() } +const opDescribePredictorBacktestExportJob = "DescribePredictorBacktestExportJob" + +// DescribePredictorBacktestExportJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribePredictorBacktestExportJob 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 DescribePredictorBacktestExportJob for more information on using the DescribePredictorBacktestExportJob +// 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 DescribePredictorBacktestExportJobRequest method. +// req, resp := client.DescribePredictorBacktestExportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribePredictorBacktestExportJob +func (c *ForecastService) DescribePredictorBacktestExportJobRequest(input *DescribePredictorBacktestExportJobInput) (req *request.Request, output *DescribePredictorBacktestExportJobOutput) { + op := &request.Operation{ + Name: opDescribePredictorBacktestExportJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribePredictorBacktestExportJobInput{} + } + + output = &DescribePredictorBacktestExportJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribePredictorBacktestExportJob API operation for Amazon Forecast Service. +// +// Describes a predictor backtest export job created using the CreatePredictorBacktestExportJob +// operation. +// +// In addition to listing the properties provided by the user in the CreatePredictorBacktestExportJob +// request, this operation lists the following properties: +// +// * CreationTime +// +// * LastModificationTime +// +// * Status +// +// * Message (if an error occurred) +// +// 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 Forecast Service's +// API operation DescribePredictorBacktestExportJob for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribePredictorBacktestExportJob +func (c *ForecastService) DescribePredictorBacktestExportJob(input *DescribePredictorBacktestExportJobInput) (*DescribePredictorBacktestExportJobOutput, error) { + req, out := c.DescribePredictorBacktestExportJobRequest(input) + return out, req.Send() +} + +// DescribePredictorBacktestExportJobWithContext is the same as DescribePredictorBacktestExportJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribePredictorBacktestExportJob 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 *ForecastService) DescribePredictorBacktestExportJobWithContext(ctx aws.Context, input *DescribePredictorBacktestExportJobInput, opts ...request.Option) (*DescribePredictorBacktestExportJobOutput, error) { + req, out := c.DescribePredictorBacktestExportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetAccuracyMetrics = "GetAccuracyMetrics" // GetAccuracyMetricsRequest generates a "aws/request.Request" representing the @@ -2658,6 +2940,152 @@ func (c *ForecastService) ListForecastsPagesWithContext(ctx aws.Context, input * return p.Err() } +const opListPredictorBacktestExportJobs = "ListPredictorBacktestExportJobs" + +// ListPredictorBacktestExportJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListPredictorBacktestExportJobs 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 ListPredictorBacktestExportJobs for more information on using the ListPredictorBacktestExportJobs +// 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 ListPredictorBacktestExportJobsRequest method. +// req, resp := client.ListPredictorBacktestExportJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListPredictorBacktestExportJobs +func (c *ForecastService) ListPredictorBacktestExportJobsRequest(input *ListPredictorBacktestExportJobsInput) (req *request.Request, output *ListPredictorBacktestExportJobsOutput) { + op := &request.Operation{ + Name: opListPredictorBacktestExportJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPredictorBacktestExportJobsInput{} + } + + output = &ListPredictorBacktestExportJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPredictorBacktestExportJobs API operation for Amazon Forecast Service. +// +// Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob +// operation. This operation returns a summary for each backtest export job. +// You can filter the list using an array of Filter objects. +// +// To retrieve the complete set of properties for a particular backtest export +// job, use the ARN with the DescribePredictorBacktestExportJob operation. +// +// 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 Forecast Service's +// API operation ListPredictorBacktestExportJobs for usage and error information. +// +// Returned Error Types: +// * InvalidNextTokenException +// The token is not valid. Tokens expire after 24 hours. +// +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListPredictorBacktestExportJobs +func (c *ForecastService) ListPredictorBacktestExportJobs(input *ListPredictorBacktestExportJobsInput) (*ListPredictorBacktestExportJobsOutput, error) { + req, out := c.ListPredictorBacktestExportJobsRequest(input) + return out, req.Send() +} + +// ListPredictorBacktestExportJobsWithContext is the same as ListPredictorBacktestExportJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListPredictorBacktestExportJobs 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 *ForecastService) ListPredictorBacktestExportJobsWithContext(ctx aws.Context, input *ListPredictorBacktestExportJobsInput, opts ...request.Option) (*ListPredictorBacktestExportJobsOutput, error) { + req, out := c.ListPredictorBacktestExportJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPredictorBacktestExportJobsPages iterates over the pages of a ListPredictorBacktestExportJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPredictorBacktestExportJobs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPredictorBacktestExportJobs operation. +// pageNum := 0 +// err := client.ListPredictorBacktestExportJobsPages(params, +// func(page *forecastservice.ListPredictorBacktestExportJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ForecastService) ListPredictorBacktestExportJobsPages(input *ListPredictorBacktestExportJobsInput, fn func(*ListPredictorBacktestExportJobsOutput, bool) bool) error { + return c.ListPredictorBacktestExportJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPredictorBacktestExportJobsPagesWithContext same as ListPredictorBacktestExportJobsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *ForecastService) ListPredictorBacktestExportJobsPagesWithContext(ctx aws.Context, input *ListPredictorBacktestExportJobsInput, fn func(*ListPredictorBacktestExportJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPredictorBacktestExportJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPredictorBacktestExportJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPredictorBacktestExportJobsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListPredictors = "ListPredictors" // ListPredictorsRequest generates a "aws/request.Request" representing the @@ -4130,6 +4558,150 @@ func (s *CreateForecastOutput) SetForecastArn(v string) *CreateForecastOutput { return s } +type CreatePredictorBacktestExportJobInput struct { + _ struct{} `type:"structure"` + + // The destination for an export job, an AWS Identity and Access Management + // (IAM) role that allows Amazon Forecast to access the location and, optionally, + // an AWS Key Management Service (KMS) key. + // + // Destination is a required field + Destination *DataDestination `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the predictor that you want to export. + // + // PredictorArn is a required field + PredictorArn *string `type:"string" required:"true"` + + // The name for the backtest export job. + // + // PredictorBacktestExportJobName is a required field + PredictorBacktestExportJobName *string `min:"1" type:"string" required:"true"` + + // Optional metadata to help you categorize and organize your backtests. Each + // tag consists of a key and an optional value, both of which you define. Tag + // keys and values are case sensitive. + // + // The following restrictions apply to tags: + // + // * For each resource, each tag key must be unique and each tag key must + // have one value. + // + // * Maximum number of tags per resource: 50. + // + // * Maximum key length: 128 Unicode characters in UTF-8. + // + // * Maximum value length: 256 Unicode characters in UTF-8. + // + // * Accepted characters: all letters and numbers, spaces representable in + // UTF-8, and + - = . _ : / @. If your tagging schema is used across other + // services and resources, the character restrictions of those services also + // apply. + // + // * Key prefixes cannot include any upper or lowercase combination of aws: + // or AWS:. Values can have this prefix. If a tag value has aws as its prefix + // but the key does not, Forecast considers it to be a user tag and will + // count against the limit of 50 tags. Tags with only the key prefix of aws + // do not count against your tags per resource limit. You cannot edit or + // delete tag keys with this prefix. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreatePredictorBacktestExportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePredictorBacktestExportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePredictorBacktestExportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePredictorBacktestExportJobInput"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.PredictorArn == nil { + invalidParams.Add(request.NewErrParamRequired("PredictorArn")) + } + if s.PredictorBacktestExportJobName == nil { + invalidParams.Add(request.NewErrParamRequired("PredictorBacktestExportJobName")) + } + if s.PredictorBacktestExportJobName != nil && len(*s.PredictorBacktestExportJobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PredictorBacktestExportJobName", 1)) + } + if s.Destination != nil { + if err := s.Destination.Validate(); err != nil { + invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) + } + } + 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 +} + +// SetDestination sets the Destination field's value. +func (s *CreatePredictorBacktestExportJobInput) SetDestination(v *DataDestination) *CreatePredictorBacktestExportJobInput { + s.Destination = v + return s +} + +// SetPredictorArn sets the PredictorArn field's value. +func (s *CreatePredictorBacktestExportJobInput) SetPredictorArn(v string) *CreatePredictorBacktestExportJobInput { + s.PredictorArn = &v + return s +} + +// SetPredictorBacktestExportJobName sets the PredictorBacktestExportJobName field's value. +func (s *CreatePredictorBacktestExportJobInput) SetPredictorBacktestExportJobName(v string) *CreatePredictorBacktestExportJobInput { + s.PredictorBacktestExportJobName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreatePredictorBacktestExportJobInput) SetTags(v []*Tag) *CreatePredictorBacktestExportJobInput { + s.Tags = v + return s +} + +type CreatePredictorBacktestExportJobOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the predictor backtest export job that + // you want to export. + PredictorBacktestExportJobArn *string `type:"string"` +} + +// String returns the string representation +func (s CreatePredictorBacktestExportJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePredictorBacktestExportJobOutput) GoString() string { + return s.String() +} + +// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value. +func (s *CreatePredictorBacktestExportJobOutput) SetPredictorBacktestExportJobArn(v string) *CreatePredictorBacktestExportJobOutput { + s.PredictorBacktestExportJobArn = &v + return s +} + type CreatePredictorInput struct { _ struct{} `type:"structure"` @@ -4443,10 +5015,9 @@ func (s *CreatePredictorOutput) SetPredictorArn(v string) *CreatePredictorOutput return s } -// The destination for an exported forecast, an AWS Identity and Access Management +// The destination for an export job, an AWS Identity and Access Management // (IAM) role that allows Amazon Forecast to access the location and, optionally, -// an AWS Key Management Service (KMS) key. This object is submitted in the -// CreateForecastExportJob request. +// an AWS Key Management Service (KMS) key. type DataDestination struct { _ struct{} `type:"structure"` @@ -5014,17 +5585,69 @@ func (s *DeleteForecastInput) SetForecastArn(v string) *DeleteForecastInput { return s } -type DeleteForecastOutput struct { +type DeleteForecastOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteForecastOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteForecastOutput) GoString() string { + return s.String() +} + +type DeletePredictorBacktestExportJobInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the predictor backtest export job to delete. + // + // PredictorBacktestExportJobArn is a required field + PredictorBacktestExportJobArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePredictorBacktestExportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePredictorBacktestExportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePredictorBacktestExportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePredictorBacktestExportJobInput"} + if s.PredictorBacktestExportJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("PredictorBacktestExportJobArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value. +func (s *DeletePredictorBacktestExportJobInput) SetPredictorBacktestExportJobArn(v string) *DeletePredictorBacktestExportJobInput { + s.PredictorBacktestExportJobArn = &v + return s +} + +type DeletePredictorBacktestExportJobOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteForecastOutput) String() string { +func (s DeletePredictorBacktestExportJobOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteForecastOutput) GoString() string { +func (s DeletePredictorBacktestExportJobOutput) GoString() string { return s.String() } @@ -5836,6 +6459,146 @@ func (s *DescribeForecastOutput) SetStatus(v string) *DescribeForecastOutput { return s } +type DescribePredictorBacktestExportJobInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the predictor backtest export job. + // + // PredictorBacktestExportJobArn is a required field + PredictorBacktestExportJobArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribePredictorBacktestExportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePredictorBacktestExportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePredictorBacktestExportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePredictorBacktestExportJobInput"} + if s.PredictorBacktestExportJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("PredictorBacktestExportJobArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value. +func (s *DescribePredictorBacktestExportJobInput) SetPredictorBacktestExportJobArn(v string) *DescribePredictorBacktestExportJobInput { + s.PredictorBacktestExportJobArn = &v + return s +} + +type DescribePredictorBacktestExportJobOutput struct { + _ struct{} `type:"structure"` + + // When the predictor backtest export job was created. + CreationTime *time.Time `type:"timestamp"` + + // The destination for an export job, an AWS Identity and Access Management + // (IAM) role that allows Amazon Forecast to access the location and, optionally, + // an AWS Key Management Service (KMS) key. + Destination *DataDestination `type:"structure"` + + // When the last successful export job finished. + LastModificationTime *time.Time `type:"timestamp"` + + // Information about any errors that may have occurred during the backtest export. + Message *string `type:"string"` + + // The Amazon Resource Name (ARN) of the predictor. + PredictorArn *string `type:"string"` + + // The Amazon Resource Name (ARN) of the predictor backtest export job. + PredictorBacktestExportJobArn *string `type:"string"` + + // The name of the predictor backtest export job. + PredictorBacktestExportJobName *string `min:"1" type:"string"` + + // The status of the predictor backtest export job. States include: + // + // * ACTIVE + // + // * CREATE_PENDING + // + // * CREATE_IN_PROGRESS + // + // * CREATE_FAILED + // + // * DELETE_PENDING + // + // * DELETE_IN_PROGRESS + // + // * DELETE_FAILED + Status *string `type:"string"` +} + +// String returns the string representation +func (s DescribePredictorBacktestExportJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePredictorBacktestExportJobOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribePredictorBacktestExportJobOutput) SetCreationTime(v time.Time) *DescribePredictorBacktestExportJobOutput { + s.CreationTime = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *DescribePredictorBacktestExportJobOutput) SetDestination(v *DataDestination) *DescribePredictorBacktestExportJobOutput { + s.Destination = v + return s +} + +// SetLastModificationTime sets the LastModificationTime field's value. +func (s *DescribePredictorBacktestExportJobOutput) SetLastModificationTime(v time.Time) *DescribePredictorBacktestExportJobOutput { + s.LastModificationTime = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *DescribePredictorBacktestExportJobOutput) SetMessage(v string) *DescribePredictorBacktestExportJobOutput { + s.Message = &v + return s +} + +// SetPredictorArn sets the PredictorArn field's value. +func (s *DescribePredictorBacktestExportJobOutput) SetPredictorArn(v string) *DescribePredictorBacktestExportJobOutput { + s.PredictorArn = &v + return s +} + +// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value. +func (s *DescribePredictorBacktestExportJobOutput) SetPredictorBacktestExportJobArn(v string) *DescribePredictorBacktestExportJobOutput { + s.PredictorBacktestExportJobArn = &v + return s +} + +// SetPredictorBacktestExportJobName sets the PredictorBacktestExportJobName field's value. +func (s *DescribePredictorBacktestExportJobOutput) SetPredictorBacktestExportJobName(v string) *DescribePredictorBacktestExportJobOutput { + s.PredictorBacktestExportJobName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribePredictorBacktestExportJobOutput) SetStatus(v string) *DescribePredictorBacktestExportJobOutput { + s.Status = &v + return s +} + type DescribePredictorInput struct { _ struct{} `type:"structure"` @@ -6158,8 +6921,7 @@ func (s *EncryptionConfig) SetRoleArn(v string) *EncryptionConfig { type ErrorMetric struct { _ struct{} `type:"structure"` - // Forecast types can be quantiles from 0.01 to 0.99 (by increments of 0.01), - // and the mean. + // The Forecast type used to compute WAPE and RMSE. ForecastType *string `type:"string"` // The root-mean-square error (RMSE). @@ -7812,6 +8574,124 @@ func (s *ListForecastsOutput) SetNextToken(v string) *ListForecastsOutput { return s } +type ListPredictorBacktestExportJobsInput struct { + _ struct{} `type:"structure"` + + // An array of filters. For each filter, provide a condition and a match statement. + // The condition is either IS or IS_NOT, which specifies whether to include + // or exclude the predictor backtest export jobs that match the statement from + // the list. The match statement consists of a key and a value. + // + // Filter properties + // + // * Condition - The condition to apply. Valid values are IS and IS_NOT. + // To include the predictor backtest export jobs that match the statement, + // specify IS. To exclude matching predictor backtest export jobs, specify + // IS_NOT. + // + // * Key - The name of the parameter to filter on. Valid values are PredictorBacktestExportJobArn + // and Status. + // + // * Value - The value to match. + Filters []*Filter `type:"list"` + + // The number of items to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // If the result of the previous request was truncated, the response includes + // a NextToken. To retrieve the next set of results, use the token in the next + // request. Tokens expire after 24 hours. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListPredictorBacktestExportJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPredictorBacktestExportJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPredictorBacktestExportJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPredictorBacktestExportJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListPredictorBacktestExportJobsInput) SetFilters(v []*Filter) *ListPredictorBacktestExportJobsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPredictorBacktestExportJobsInput) SetMaxResults(v int64) *ListPredictorBacktestExportJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPredictorBacktestExportJobsInput) SetNextToken(v string) *ListPredictorBacktestExportJobsInput { + s.NextToken = &v + return s +} + +type ListPredictorBacktestExportJobsOutput struct { + _ struct{} `type:"structure"` + + // Returns this token if the response is truncated. To retrieve the next set + // of results, use the token in the next request. + NextToken *string `min:"1" type:"string"` + + // An array of objects that summarize the properties of each predictor backtest + // export job. + PredictorBacktestExportJobs []*PredictorBacktestExportJobSummary `type:"list"` +} + +// String returns the string representation +func (s ListPredictorBacktestExportJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPredictorBacktestExportJobsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPredictorBacktestExportJobsOutput) SetNextToken(v string) *ListPredictorBacktestExportJobsOutput { + s.NextToken = &v + return s +} + +// SetPredictorBacktestExportJobs sets the PredictorBacktestExportJobs field's value. +func (s *ListPredictorBacktestExportJobsOutput) SetPredictorBacktestExportJobs(v []*PredictorBacktestExportJobSummary) *ListPredictorBacktestExportJobsOutput { + s.PredictorBacktestExportJobs = v + return s +} + type ListPredictorsInput struct { _ struct{} `type:"structure"` @@ -8138,6 +9018,103 @@ func (s *ParameterRanges) SetIntegerParameterRanges(v []*IntegerParameterRange) return s } +// Provides a summary of the predictor backtest export job properties used in +// the ListPredictorBacktestExportJobs operation. To get a complete set of properties, +// call the DescribePredictorBacktestExportJob operation, and provide the listed +// PredictorBacktestExportJobArn. +type PredictorBacktestExportJobSummary struct { + _ struct{} `type:"structure"` + + // When the predictor backtest export job was created. + CreationTime *time.Time `type:"timestamp"` + + // The destination for an export job, an AWS Identity and Access Management + // (IAM) role that allows Amazon Forecast to access the location and, optionally, + // an AWS Key Management Service (KMS) key. + Destination *DataDestination `type:"structure"` + + // When the last successful export job finished. + LastModificationTime *time.Time `type:"timestamp"` + + // Information about any errors that may have occurred during the backtest export. + Message *string `type:"string"` + + // The Amazon Resource Name (ARN) of the predictor backtest export job. + PredictorBacktestExportJobArn *string `type:"string"` + + // The name of the predictor backtest export job. + PredictorBacktestExportJobName *string `min:"1" type:"string"` + + // The status of the predictor backtest export job. States include: + // + // * ACTIVE + // + // * CREATE_PENDING + // + // * CREATE_IN_PROGRESS + // + // * CREATE_FAILED + // + // * DELETE_PENDING + // + // * DELETE_IN_PROGRESS + // + // * DELETE_FAILED + Status *string `type:"string"` +} + +// String returns the string representation +func (s PredictorBacktestExportJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PredictorBacktestExportJobSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *PredictorBacktestExportJobSummary) SetCreationTime(v time.Time) *PredictorBacktestExportJobSummary { + s.CreationTime = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *PredictorBacktestExportJobSummary) SetDestination(v *DataDestination) *PredictorBacktestExportJobSummary { + s.Destination = v + return s +} + +// SetLastModificationTime sets the LastModificationTime field's value. +func (s *PredictorBacktestExportJobSummary) SetLastModificationTime(v time.Time) *PredictorBacktestExportJobSummary { + s.LastModificationTime = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *PredictorBacktestExportJobSummary) SetMessage(v string) *PredictorBacktestExportJobSummary { + s.Message = &v + return s +} + +// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value. +func (s *PredictorBacktestExportJobSummary) SetPredictorBacktestExportJobArn(v string) *PredictorBacktestExportJobSummary { + s.PredictorBacktestExportJobArn = &v + return s +} + +// SetPredictorBacktestExportJobName sets the PredictorBacktestExportJobName field's value. +func (s *PredictorBacktestExportJobSummary) SetPredictorBacktestExportJobName(v string) *PredictorBacktestExportJobSummary { + s.PredictorBacktestExportJobName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PredictorBacktestExportJobSummary) SetStatus(v string) *PredictorBacktestExportJobSummary { + s.Status = &v + return s +} + // The algorithm used to perform a backtest and the status of those tests. type PredictorExecution struct { _ struct{} `type:"structure"` @@ -8468,8 +9445,7 @@ func (s *ResourceNotFoundException) RequestID() string { // and an AWS Identity and Access Management (IAM) role that Amazon Forecast // can assume to access the file(s). Optionally, includes an AWS Key Management // Service (KMS) key. This object is part of the DataSource object that is submitted -// in the CreateDatasetImportJob request, and part of the DataDestination object -// that is submitted in the CreateForecastExportJob request. +// in the CreateDatasetImportJob request, and part of the DataDestination object. type S3Config struct { _ struct{} `type:"structure"` diff --git a/service/forecastservice/forecastserviceiface/interface.go b/service/forecastservice/forecastserviceiface/interface.go index b5f28eb35a..5e3cee631f 100644 --- a/service/forecastservice/forecastserviceiface/interface.go +++ b/service/forecastservice/forecastserviceiface/interface.go @@ -84,6 +84,10 @@ type ForecastServiceAPI interface { CreatePredictorWithContext(aws.Context, *forecastservice.CreatePredictorInput, ...request.Option) (*forecastservice.CreatePredictorOutput, error) CreatePredictorRequest(*forecastservice.CreatePredictorInput) (*request.Request, *forecastservice.CreatePredictorOutput) + CreatePredictorBacktestExportJob(*forecastservice.CreatePredictorBacktestExportJobInput) (*forecastservice.CreatePredictorBacktestExportJobOutput, error) + CreatePredictorBacktestExportJobWithContext(aws.Context, *forecastservice.CreatePredictorBacktestExportJobInput, ...request.Option) (*forecastservice.CreatePredictorBacktestExportJobOutput, error) + CreatePredictorBacktestExportJobRequest(*forecastservice.CreatePredictorBacktestExportJobInput) (*request.Request, *forecastservice.CreatePredictorBacktestExportJobOutput) + DeleteDataset(*forecastservice.DeleteDatasetInput) (*forecastservice.DeleteDatasetOutput, error) DeleteDatasetWithContext(aws.Context, *forecastservice.DeleteDatasetInput, ...request.Option) (*forecastservice.DeleteDatasetOutput, error) DeleteDatasetRequest(*forecastservice.DeleteDatasetInput) (*request.Request, *forecastservice.DeleteDatasetOutput) @@ -108,6 +112,10 @@ type ForecastServiceAPI interface { DeletePredictorWithContext(aws.Context, *forecastservice.DeletePredictorInput, ...request.Option) (*forecastservice.DeletePredictorOutput, error) DeletePredictorRequest(*forecastservice.DeletePredictorInput) (*request.Request, *forecastservice.DeletePredictorOutput) + DeletePredictorBacktestExportJob(*forecastservice.DeletePredictorBacktestExportJobInput) (*forecastservice.DeletePredictorBacktestExportJobOutput, error) + DeletePredictorBacktestExportJobWithContext(aws.Context, *forecastservice.DeletePredictorBacktestExportJobInput, ...request.Option) (*forecastservice.DeletePredictorBacktestExportJobOutput, error) + DeletePredictorBacktestExportJobRequest(*forecastservice.DeletePredictorBacktestExportJobInput) (*request.Request, *forecastservice.DeletePredictorBacktestExportJobOutput) + DescribeDataset(*forecastservice.DescribeDatasetInput) (*forecastservice.DescribeDatasetOutput, error) DescribeDatasetWithContext(aws.Context, *forecastservice.DescribeDatasetInput, ...request.Option) (*forecastservice.DescribeDatasetOutput, error) DescribeDatasetRequest(*forecastservice.DescribeDatasetInput) (*request.Request, *forecastservice.DescribeDatasetOutput) @@ -132,6 +140,10 @@ type ForecastServiceAPI interface { DescribePredictorWithContext(aws.Context, *forecastservice.DescribePredictorInput, ...request.Option) (*forecastservice.DescribePredictorOutput, error) DescribePredictorRequest(*forecastservice.DescribePredictorInput) (*request.Request, *forecastservice.DescribePredictorOutput) + DescribePredictorBacktestExportJob(*forecastservice.DescribePredictorBacktestExportJobInput) (*forecastservice.DescribePredictorBacktestExportJobOutput, error) + DescribePredictorBacktestExportJobWithContext(aws.Context, *forecastservice.DescribePredictorBacktestExportJobInput, ...request.Option) (*forecastservice.DescribePredictorBacktestExportJobOutput, error) + DescribePredictorBacktestExportJobRequest(*forecastservice.DescribePredictorBacktestExportJobInput) (*request.Request, *forecastservice.DescribePredictorBacktestExportJobOutput) + GetAccuracyMetrics(*forecastservice.GetAccuracyMetricsInput) (*forecastservice.GetAccuracyMetricsOutput, error) GetAccuracyMetricsWithContext(aws.Context, *forecastservice.GetAccuracyMetricsInput, ...request.Option) (*forecastservice.GetAccuracyMetricsOutput, error) GetAccuracyMetricsRequest(*forecastservice.GetAccuracyMetricsInput) (*request.Request, *forecastservice.GetAccuracyMetricsOutput) @@ -171,6 +183,13 @@ type ForecastServiceAPI interface { ListForecastsPages(*forecastservice.ListForecastsInput, func(*forecastservice.ListForecastsOutput, bool) bool) error ListForecastsPagesWithContext(aws.Context, *forecastservice.ListForecastsInput, func(*forecastservice.ListForecastsOutput, bool) bool, ...request.Option) error + ListPredictorBacktestExportJobs(*forecastservice.ListPredictorBacktestExportJobsInput) (*forecastservice.ListPredictorBacktestExportJobsOutput, error) + ListPredictorBacktestExportJobsWithContext(aws.Context, *forecastservice.ListPredictorBacktestExportJobsInput, ...request.Option) (*forecastservice.ListPredictorBacktestExportJobsOutput, error) + ListPredictorBacktestExportJobsRequest(*forecastservice.ListPredictorBacktestExportJobsInput) (*request.Request, *forecastservice.ListPredictorBacktestExportJobsOutput) + + ListPredictorBacktestExportJobsPages(*forecastservice.ListPredictorBacktestExportJobsInput, func(*forecastservice.ListPredictorBacktestExportJobsOutput, bool) bool) error + ListPredictorBacktestExportJobsPagesWithContext(aws.Context, *forecastservice.ListPredictorBacktestExportJobsInput, func(*forecastservice.ListPredictorBacktestExportJobsOutput, bool) bool, ...request.Option) error + ListPredictors(*forecastservice.ListPredictorsInput) (*forecastservice.ListPredictorsOutput, error) ListPredictorsWithContext(aws.Context, *forecastservice.ListPredictorsInput, ...request.Option) (*forecastservice.ListPredictorsOutput, error) ListPredictorsRequest(*forecastservice.ListPredictorsInput) (*request.Request, *forecastservice.ListPredictorsOutput) diff --git a/service/glue/api.go b/service/glue/api.go index 637083f372..19e1f8d4f3 100644 --- a/service/glue/api.go +++ b/service/glue/api.go @@ -2120,6 +2120,104 @@ func (c *Glue) CreatePartitionWithContext(ctx aws.Context, input *CreatePartitio return out, req.Send() } +const opCreatePartitionIndex = "CreatePartitionIndex" + +// CreatePartitionIndexRequest generates a "aws/request.Request" representing the +// client's request for the CreatePartitionIndex 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 CreatePartitionIndex for more information on using the CreatePartitionIndex +// 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 CreatePartitionIndexRequest method. +// req, resp := client.CreatePartitionIndexRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreatePartitionIndex +func (c *Glue) CreatePartitionIndexRequest(input *CreatePartitionIndexInput) (req *request.Request, output *CreatePartitionIndexOutput) { + op := &request.Operation{ + Name: opCreatePartitionIndex, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePartitionIndexInput{} + } + + output = &CreatePartitionIndexOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreatePartitionIndex API operation for AWS Glue. +// +// Creates a specified partition index in an existing table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation CreatePartitionIndex for usage and error information. +// +// Returned Error Types: +// * AlreadyExistsException +// A resource to be created or added already exists. +// +// * InvalidInputException +// The input provided was not valid. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// * ResourceNumberLimitExceededException +// A resource numerical limit was exceeded. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreatePartitionIndex +func (c *Glue) CreatePartitionIndex(input *CreatePartitionIndexInput) (*CreatePartitionIndexOutput, error) { + req, out := c.CreatePartitionIndexRequest(input) + return out, req.Send() +} + +// CreatePartitionIndexWithContext is the same as CreatePartitionIndex with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePartitionIndex 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 *Glue) CreatePartitionIndexWithContext(ctx aws.Context, input *CreatePartitionIndexInput, opts ...request.Option) (*CreatePartitionIndexOutput, error) { + req, out := c.CreatePartitionIndexRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateRegistry = "CreateRegistry" // CreateRegistryRequest generates a "aws/request.Request" representing the @@ -3790,6 +3888,101 @@ func (c *Glue) DeletePartitionWithContext(ctx aws.Context, input *DeletePartitio return out, req.Send() } +const opDeletePartitionIndex = "DeletePartitionIndex" + +// DeletePartitionIndexRequest generates a "aws/request.Request" representing the +// client's request for the DeletePartitionIndex 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 DeletePartitionIndex for more information on using the DeletePartitionIndex +// 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 DeletePartitionIndexRequest method. +// req, resp := client.DeletePartitionIndexRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeletePartitionIndex +func (c *Glue) DeletePartitionIndexRequest(input *DeletePartitionIndexInput) (req *request.Request, output *DeletePartitionIndexOutput) { + op := &request.Operation{ + Name: opDeletePartitionIndex, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeletePartitionIndexInput{} + } + + output = &DeletePartitionIndexOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePartitionIndex API operation for AWS Glue. +// +// Deletes a specified partition index from an existing table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeletePartitionIndex for usage and error information. +// +// Returned Error Types: +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * InvalidInputException +// The input provided was not valid. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// * ConflictException +// The CreatePartitions API was called on a table that has indexes enabled. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeletePartitionIndex +func (c *Glue) DeletePartitionIndex(input *DeletePartitionIndexInput) (*DeletePartitionIndexOutput, error) { + req, out := c.DeletePartitionIndexRequest(input) + return out, req.Send() +} + +// DeletePartitionIndexWithContext is the same as DeletePartitionIndex with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePartitionIndex 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 *Glue) DeletePartitionIndexWithContext(ctx aws.Context, input *DeletePartitionIndexInput, opts ...request.Option) (*DeletePartitionIndexOutput, error) { + req, out := c.DeletePartitionIndexRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteRegistry = "DeleteRegistry" // DeleteRegistryRequest generates a "aws/request.Request" representing the @@ -16064,6 +16257,58 @@ func (s *AlreadyExistsException) RequestID() string { return s.RespMetadata.RequestID } +// A list of errors that can occur when registering partition indexes for an +// existing table. +// +// These errors give the details about why an index registration failed and +// provide a limited number of partitions in the response, so that you can fix +// the partitions at fault and try registering the index again. The most common +// set of errors that can occur are categorized as follows: +// +// * EncryptedPartitionError: The partitions are encrypted. +// +// * InvalidPartitionTypeDataError: The partition value doesn't match the +// data type for that partition column. +// +// * MissingPartitionValueError: The partitions are encrypted. +// +// * UnsupportedPartitionCharacterError: Characters inside the partition +// value are not supported. For example: U+0000 , U+0001, U+0002. +// +// * InternalError: Any error which does not belong to other error codes. +type BackfillError struct { + _ struct{} `type:"structure"` + + // The error code for an error that occurred when registering partition indexes + // for an existing table. + Code *string `type:"string" enum:"BackfillErrorCode"` + + // A list of a limited number of partitions in the response. + Partitions []*PartitionValueList `type:"list"` +} + +// String returns the string representation +func (s BackfillError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BackfillError) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *BackfillError) SetCode(v string) *BackfillError { + s.Code = &v + return s +} + +// SetPartitions sets the Partitions field's value. +func (s *BackfillError) SetPartitions(v []*PartitionValueList) *BackfillError { + s.Partitions = v + return s +} + type BatchCreatePartitionInput struct { _ struct{} `type:"structure"` @@ -19468,6 +19713,9 @@ type Crawler struct { // The time that the crawler was last updated. LastUpdated *time.Time `type:"timestamp"` + // A configuration that specifies whether data lineage is enabled for the crawler. + LineageConfiguration *LineageConfiguration `type:"structure"` + // The name of the crawler. Name *string `min:"1" type:"string"` @@ -19562,6 +19810,12 @@ func (s *Crawler) SetLastUpdated(v time.Time) *Crawler { return s } +// SetLineageConfiguration sets the LineageConfiguration field's value. +func (s *Crawler) SetLineageConfiguration(v *LineageConfiguration) *Crawler { + s.LineageConfiguration = v + return s +} + // SetName sets the Name field's value. func (s *Crawler) SetName(v string) *Crawler { s.Name = &v @@ -20165,6 +20419,9 @@ type CreateCrawlerInput struct { // A description of the new crawler. Description *string `type:"string"` + // Specifies data lineage configuration settings for the crawler. + LineageConfiguration *LineageConfiguration `type:"structure"` + // Name of the new crawler. // // Name is a required field @@ -20271,6 +20528,12 @@ func (s *CreateCrawlerInput) SetDescription(v string) *CreateCrawlerInput { return s } +// SetLineageConfiguration sets the LineageConfiguration field's value. +func (s *CreateCrawlerInput) SetLineageConfiguration(v *LineageConfiguration) *CreateCrawlerInput { + s.LineageConfiguration = v + return s +} + // SetName sets the Name field's value. func (s *CreateCrawlerInput) SetName(v string) *CreateCrawlerInput { s.Name = &v @@ -21678,6 +21941,111 @@ func (s *CreateMLTransformOutput) SetTransformId(v string) *CreateMLTransformOut return s } +type CreatePartitionIndexInput struct { + _ struct{} `type:"structure"` + + // The catalog ID where the table resides. + CatalogId *string `min:"1" type:"string"` + + // Specifies the name of a database in which you want to create a partition + // index. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // Specifies a PartitionIndex structure to create a partition index in an existing + // table. + // + // PartitionIndex is a required field + PartitionIndex *PartitionIndex `type:"structure" required:"true"` + + // Specifies the name of a table in which you want to create a partition index. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePartitionIndexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePartitionIndexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePartitionIndexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePartitionIndexInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + 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.PartitionIndex == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionIndex")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.PartitionIndex != nil { + if err := s.PartitionIndex.Validate(); err != nil { + invalidParams.AddNested("PartitionIndex", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *CreatePartitionIndexInput) SetCatalogId(v string) *CreatePartitionIndexInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreatePartitionIndexInput) SetDatabaseName(v string) *CreatePartitionIndexInput { + s.DatabaseName = &v + return s +} + +// SetPartitionIndex sets the PartitionIndex field's value. +func (s *CreatePartitionIndexInput) SetPartitionIndex(v *PartitionIndex) *CreatePartitionIndexInput { + s.PartitionIndex = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *CreatePartitionIndexInput) SetTableName(v string) *CreatePartitionIndexInput { + s.TableName = &v + return s +} + +type CreatePartitionIndexOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreatePartitionIndexOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePartitionIndexOutput) GoString() string { + return s.String() +} + type CreatePartitionInput struct { _ struct{} `type:"structure"` @@ -24224,6 +24592,108 @@ func (s *DeleteMLTransformOutput) SetTransformId(v string) *DeleteMLTransformOut return s } +type DeletePartitionIndexInput struct { + _ struct{} `type:"structure"` + + // The catalog ID where the table resides. + CatalogId *string `min:"1" type:"string"` + + // Specifies the name of a database from which you want to delete a partition + // index. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the partition index to be deleted. + // + // IndexName is a required field + IndexName *string `min:"1" type:"string" required:"true"` + + // Specifies the name of a table from which you want to delete a partition index. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePartitionIndexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePartitionIndexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePartitionIndexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePartitionIndexInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + 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.IndexName == nil { + invalidParams.Add(request.NewErrParamRequired("IndexName")) + } + if s.IndexName != nil && len(*s.IndexName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IndexName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeletePartitionIndexInput) SetCatalogId(v string) *DeletePartitionIndexInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeletePartitionIndexInput) SetDatabaseName(v string) *DeletePartitionIndexInput { + s.DatabaseName = &v + return s +} + +// SetIndexName sets the IndexName field's value. +func (s *DeletePartitionIndexInput) SetIndexName(v string) *DeletePartitionIndexInput { + s.IndexName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DeletePartitionIndexInput) SetTableName(v string) *DeletePartitionIndexInput { + s.TableName = &v + return s +} + +type DeletePartitionIndexOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePartitionIndexOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePartitionIndexOutput) GoString() string { + return s.String() +} + type DeletePartitionInput struct { _ struct{} `type:"structure"` @@ -33193,6 +33663,34 @@ func (s *LastCrawlInfo) SetStatus(v string) *LastCrawlInfo { return s } +// Specifies data lineage configuration settings for the crawler. +type LineageConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies whether data lineage is enabled for the crawler. Valid values are: + // + // * ENABLE: enables data lineage for the crawler + // + // * DISABLE: disables data lineage for the crawler + CrawlerLineageSettings *string `type:"string" enum:"CrawlerLineageSettings"` +} + +// String returns the string representation +func (s LineageConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LineageConfiguration) GoString() string { + return s.String() +} + +// SetCrawlerLineageSettings sets the CrawlerLineageSettings field's value. +func (s *LineageConfiguration) SetCrawlerLineageSettings(v string) *LineageConfiguration { + s.CrawlerLineageSettings = &v + return s +} + type ListCrawlersInput struct { _ struct{} `type:"structure"` @@ -35228,6 +35726,10 @@ func (s *PartitionIndex) SetKeys(v []*string) *PartitionIndex { type PartitionIndexDescriptor struct { _ struct{} `type:"structure"` + // A list of errors that can occur when registering partition indexes for an + // existing table. + BackfillErrors []*BackfillError `type:"list"` + // The name of the partition index. // // IndexName is a required field @@ -35235,6 +35737,17 @@ type PartitionIndexDescriptor struct { // The status of the partition index. // + // The possible statuses are: + // + // * CREATING: The index is being created. When an index is in a CREATING + // state, the index or its table cannot be deleted. + // + // * ACTIVE: The index creation succeeds. + // + // * FAILED: The index creation fails. + // + // * DELETING: The index is deleted from the list of indexes. + // // IndexStatus is a required field IndexStatus *string `type:"string" required:"true" enum:"PartitionIndexStatus"` @@ -35255,6 +35768,12 @@ func (s PartitionIndexDescriptor) GoString() string { return s.String() } +// SetBackfillErrors sets the BackfillErrors field's value. +func (s *PartitionIndexDescriptor) SetBackfillErrors(v []*BackfillError) *PartitionIndexDescriptor { + s.BackfillErrors = v + return s +} + // SetIndexName sets the IndexName field's value. func (s *PartitionIndexDescriptor) SetIndexName(v string) *PartitionIndexDescriptor { s.IndexName = &v @@ -41301,6 +41820,9 @@ type UpdateCrawlerInput struct { // A description of the new crawler. Description *string `type:"string"` + // Specifies data lineage configuration settings for the crawler. + LineageConfiguration *LineageConfiguration `type:"structure"` + // Name of the new crawler. // // Name is a required field @@ -41391,6 +41913,12 @@ func (s *UpdateCrawlerInput) SetDescription(v string) *UpdateCrawlerInput { return s } +// SetLineageConfiguration sets the LineageConfiguration field's value. +func (s *UpdateCrawlerInput) SetLineageConfiguration(v *LineageConfiguration) *UpdateCrawlerInput { + s.LineageConfiguration = v + return s +} + // SetName sets the Name field's value. func (s *UpdateCrawlerInput) SetName(v string) *UpdateCrawlerInput { s.Name = &v @@ -43693,6 +44221,34 @@ func (s *XMLClassifier) SetVersion(v int64) *XMLClassifier { return s } +const ( + // BackfillErrorCodeEncryptedPartitionError is a BackfillErrorCode enum value + BackfillErrorCodeEncryptedPartitionError = "ENCRYPTED_PARTITION_ERROR" + + // BackfillErrorCodeInternalError is a BackfillErrorCode enum value + BackfillErrorCodeInternalError = "INTERNAL_ERROR" + + // BackfillErrorCodeInvalidPartitionTypeDataError is a BackfillErrorCode enum value + BackfillErrorCodeInvalidPartitionTypeDataError = "INVALID_PARTITION_TYPE_DATA_ERROR" + + // BackfillErrorCodeMissingPartitionValueError is a BackfillErrorCode enum value + BackfillErrorCodeMissingPartitionValueError = "MISSING_PARTITION_VALUE_ERROR" + + // BackfillErrorCodeUnsupportedPartitionCharacterError is a BackfillErrorCode enum value + BackfillErrorCodeUnsupportedPartitionCharacterError = "UNSUPPORTED_PARTITION_CHARACTER_ERROR" +) + +// BackfillErrorCode_Values returns all elements of the BackfillErrorCode enum +func BackfillErrorCode_Values() []string { + return []string{ + BackfillErrorCodeEncryptedPartitionError, + BackfillErrorCodeInternalError, + BackfillErrorCodeInvalidPartitionTypeDataError, + BackfillErrorCodeMissingPartitionValueError, + BackfillErrorCodeUnsupportedPartitionCharacterError, + } +} + const ( // CatalogEncryptionModeDisabled is a CatalogEncryptionMode enum value CatalogEncryptionModeDisabled = "DISABLED" @@ -43977,6 +44533,22 @@ func CrawlState_Values() []string { } } +const ( + // CrawlerLineageSettingsEnable is a CrawlerLineageSettings enum value + CrawlerLineageSettingsEnable = "ENABLE" + + // CrawlerLineageSettingsDisable is a CrawlerLineageSettings enum value + CrawlerLineageSettingsDisable = "DISABLE" +) + +// CrawlerLineageSettings_Values returns all elements of the CrawlerLineageSettings enum +func CrawlerLineageSettings_Values() []string { + return []string{ + CrawlerLineageSettingsEnable, + CrawlerLineageSettingsDisable, + } +} + const ( // CrawlerStateReady is a CrawlerState enum value CrawlerStateReady = "READY" @@ -44238,14 +44810,26 @@ func NodeType_Values() []string { } const ( + // PartitionIndexStatusCreating is a PartitionIndexStatus enum value + PartitionIndexStatusCreating = "CREATING" + // PartitionIndexStatusActive is a PartitionIndexStatus enum value PartitionIndexStatusActive = "ACTIVE" + + // PartitionIndexStatusDeleting is a PartitionIndexStatus enum value + PartitionIndexStatusDeleting = "DELETING" + + // PartitionIndexStatusFailed is a PartitionIndexStatus enum value + PartitionIndexStatusFailed = "FAILED" ) // PartitionIndexStatus_Values returns all elements of the PartitionIndexStatus enum func PartitionIndexStatus_Values() []string { return []string{ + PartitionIndexStatusCreating, PartitionIndexStatusActive, + PartitionIndexStatusDeleting, + PartitionIndexStatusFailed, } } diff --git a/service/glue/glueiface/interface.go b/service/glue/glueiface/interface.go index 191909a4ca..4c302fff36 100644 --- a/service/glue/glueiface/interface.go +++ b/service/glue/glueiface/interface.go @@ -152,6 +152,10 @@ type GlueAPI interface { CreatePartitionWithContext(aws.Context, *glue.CreatePartitionInput, ...request.Option) (*glue.CreatePartitionOutput, error) CreatePartitionRequest(*glue.CreatePartitionInput) (*request.Request, *glue.CreatePartitionOutput) + CreatePartitionIndex(*glue.CreatePartitionIndexInput) (*glue.CreatePartitionIndexOutput, error) + CreatePartitionIndexWithContext(aws.Context, *glue.CreatePartitionIndexInput, ...request.Option) (*glue.CreatePartitionIndexOutput, error) + CreatePartitionIndexRequest(*glue.CreatePartitionIndexInput) (*request.Request, *glue.CreatePartitionIndexOutput) + CreateRegistry(*glue.CreateRegistryInput) (*glue.CreateRegistryOutput, error) CreateRegistryWithContext(aws.Context, *glue.CreateRegistryInput, ...request.Option) (*glue.CreateRegistryOutput, error) CreateRegistryRequest(*glue.CreateRegistryInput) (*request.Request, *glue.CreateRegistryOutput) @@ -224,6 +228,10 @@ type GlueAPI interface { DeletePartitionWithContext(aws.Context, *glue.DeletePartitionInput, ...request.Option) (*glue.DeletePartitionOutput, error) DeletePartitionRequest(*glue.DeletePartitionInput) (*request.Request, *glue.DeletePartitionOutput) + DeletePartitionIndex(*glue.DeletePartitionIndexInput) (*glue.DeletePartitionIndexOutput, error) + DeletePartitionIndexWithContext(aws.Context, *glue.DeletePartitionIndexInput, ...request.Option) (*glue.DeletePartitionIndexOutput, error) + DeletePartitionIndexRequest(*glue.DeletePartitionIndexInput) (*request.Request, *glue.DeletePartitionIndexOutput) + DeleteRegistry(*glue.DeleteRegistryInput) (*glue.DeleteRegistryOutput, error) DeleteRegistryWithContext(aws.Context, *glue.DeleteRegistryInput, ...request.Option) (*glue.DeleteRegistryOutput, error) DeleteRegistryRequest(*glue.DeleteRegistryInput) (*request.Request, *glue.DeleteRegistryOutput) diff --git a/service/iot/api.go b/service/iot/api.go index ba07e1cbed..f6b08f0273 100644 --- a/service/iot/api.go +++ b/service/iot/api.go @@ -44593,6 +44593,10 @@ type OTAUpdateFile struct { // The name of the file. FileName *string `locationName:"fileName" type:"string"` + // An integer value you can include in the job document to allow your devices + // to identify the type of file received from the cloud. + FileType *int64 `locationName:"fileType" type:"integer"` + // The file version. FileVersion *string `locationName:"fileVersion" type:"string"` } @@ -44651,6 +44655,12 @@ func (s *OTAUpdateFile) SetFileName(v string) *OTAUpdateFile { return s } +// SetFileType sets the FileType field's value. +func (s *OTAUpdateFile) SetFileType(v int64) *OTAUpdateFile { + s.FileType = &v + return s +} + // SetFileVersion sets the FileVersion field's value. func (s *OTAUpdateFile) SetFileVersion(v string) *OTAUpdateFile { s.FileVersion = &v diff --git a/service/kafka/api.go b/service/kafka/api.go index b163575316..fab2579ba3 100644 --- a/service/kafka/api.go +++ b/service/kafka/api.go @@ -3792,7 +3792,8 @@ type ClusterInfo struct { // Settings for open monitoring using Prometheus. OpenMonitoring *OpenMonitoring `locationName:"openMonitoring" type:"structure"` - // The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED. + // The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, + // FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING. State *string `locationName:"state" type:"string" enum:"ClusterState"` // Tags attached to the cluster. @@ -4558,7 +4559,8 @@ type CreateClusterOutput struct { // The name of the MSK cluster. ClusterName *string `locationName:"clusterName" type:"string"` - // The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED. + // The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, + // FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING. State *string `locationName:"state" type:"string" enum:"ClusterState"` } @@ -4778,7 +4780,8 @@ type DeleteClusterOutput struct { // The Amazon Resource Name (ARN) of the cluster. ClusterArn *string `locationName:"clusterArn" type:"string"` - // The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED. + // The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, + // FAILED, MAINTENANCE, REBOOTING_BROKER, and UPDATING. State *string `locationName:"state" type:"string" enum:"ClusterState"` } @@ -8356,14 +8359,20 @@ const ( // ClusterStateCreating is a ClusterState enum value ClusterStateCreating = "CREATING" - // ClusterStateUpdating is a ClusterState enum value - ClusterStateUpdating = "UPDATING" - // ClusterStateDeleting is a ClusterState enum value ClusterStateDeleting = "DELETING" // ClusterStateFailed is a ClusterState enum value ClusterStateFailed = "FAILED" + + // ClusterStateMaintenance is a ClusterState enum value + ClusterStateMaintenance = "MAINTENANCE" + + // ClusterStateRebootingBroker is a ClusterState enum value + ClusterStateRebootingBroker = "REBOOTING_BROKER" + + // ClusterStateUpdating is a ClusterState enum value + ClusterStateUpdating = "UPDATING" ) // ClusterState_Values returns all elements of the ClusterState enum @@ -8371,9 +8380,11 @@ func ClusterState_Values() []string { return []string{ ClusterStateActive, ClusterStateCreating, - ClusterStateUpdating, ClusterStateDeleting, ClusterStateFailed, + ClusterStateMaintenance, + ClusterStateRebootingBroker, + ClusterStateUpdating, } } diff --git a/service/lambda/api.go b/service/lambda/api.go index d9720e6ff2..abcea99930 100644 --- a/service/lambda/api.go +++ b/service/lambda/api.go @@ -332,6 +332,90 @@ func (c *Lambda) CreateAliasWithContext(ctx aws.Context, input *CreateAliasInput return out, req.Send() } +const opCreateCodeSigningConfig = "CreateCodeSigningConfig" + +// CreateCodeSigningConfigRequest generates a "aws/request.Request" representing the +// client's request for the CreateCodeSigningConfig 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 CreateCodeSigningConfig for more information on using the CreateCodeSigningConfig +// 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 CreateCodeSigningConfigRequest method. +// req, resp := client.CreateCodeSigningConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateCodeSigningConfig +func (c *Lambda) CreateCodeSigningConfigRequest(input *CreateCodeSigningConfigInput) (req *request.Request, output *CreateCodeSigningConfigOutput) { + op := &request.Operation{ + Name: opCreateCodeSigningConfig, + HTTPMethod: "POST", + HTTPPath: "/2020-04-22/code-signing-configs/", + } + + if input == nil { + input = &CreateCodeSigningConfigInput{} + } + + output = &CreateCodeSigningConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCodeSigningConfig API operation for AWS Lambda. +// +// Creates a code signing configuration. A code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html) +// defines a list of allowed signing profiles and defines the code-signing validation +// policy (action to be taken if deployment validation checks fail). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation CreateCodeSigningConfig for usage and error information. +// +// Returned Error Types: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateCodeSigningConfig +func (c *Lambda) CreateCodeSigningConfig(input *CreateCodeSigningConfigInput) (*CreateCodeSigningConfigOutput, error) { + req, out := c.CreateCodeSigningConfigRequest(input) + return out, req.Send() +} + +// CreateCodeSigningConfigWithContext is the same as CreateCodeSigningConfig with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCodeSigningConfig 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 *Lambda) CreateCodeSigningConfigWithContext(ctx aws.Context, input *CreateCodeSigningConfigInput, opts ...request.Option) (*CreateCodeSigningConfigOutput, error) { + req, out := c.CreateCodeSigningConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateEventSourceMapping = "CreateEventSourceMapping" // CreateEventSourceMappingRequest generates a "aws/request.Request" representing the @@ -527,6 +611,12 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // of the function, and include tags (TagResource) and per-function concurrency // limits (PutFunctionConcurrency). // +// To enable code signing for this function, specify the ARN of a code-signing +// configuration. When a user attempts to deploy a code package with UpdateFunctionCode, +// Lambda checks that the code package has a valid signature from a trusted +// publisher. The code-signing configuration includes set set of signing profiles, +// which define the trusted publishers for this function. +// // If another account or an AWS service invokes your function, use AddPermission // to grant permission by creating a resource-based IAM policy. You can grant // permissions at the function level, on a version, or on an alias. @@ -562,6 +652,18 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // * CodeStorageExceededException // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) // +// * CodeVerificationFailedException +// The code signature failed one or more of the validation checks for signature +// mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda +// blocks the deployment. +// +// * InvalidCodeSignatureException +// The code signature failed the integrity check. Lambda always blocks deployment +// if the integrity check fails, even if code signing policy is set to WARN. +// +// * CodeSigningConfigNotFoundException +// The specified code signing configuration does not exist. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateFunction func (c *Lambda) CreateFunction(input *CreateFunctionInput) (*FunctionConfiguration, error) { req, out := c.CreateFunctionRequest(input) @@ -673,6 +775,96 @@ func (c *Lambda) DeleteAliasWithContext(ctx aws.Context, input *DeleteAliasInput return out, req.Send() } +const opDeleteCodeSigningConfig = "DeleteCodeSigningConfig" + +// DeleteCodeSigningConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCodeSigningConfig 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 DeleteCodeSigningConfig for more information on using the DeleteCodeSigningConfig +// 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 DeleteCodeSigningConfigRequest method. +// req, resp := client.DeleteCodeSigningConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteCodeSigningConfig +func (c *Lambda) DeleteCodeSigningConfigRequest(input *DeleteCodeSigningConfigInput) (req *request.Request, output *DeleteCodeSigningConfigOutput) { + op := &request.Operation{ + Name: opDeleteCodeSigningConfig, + HTTPMethod: "DELETE", + HTTPPath: "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}", + } + + if input == nil { + input = &DeleteCodeSigningConfigInput{} + } + + output = &DeleteCodeSigningConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteCodeSigningConfig API operation for AWS Lambda. +// +// Deletes the code signing configuration. You can delete the code signing configuration +// only if no function is using it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation DeleteCodeSigningConfig for usage and error information. +// +// Returned Error Types: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. +// +// * ResourceNotFoundException +// The resource specified in the request does not exist. +// +// * ResourceConflictException +// The resource already exists, or another operation is in progress. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteCodeSigningConfig +func (c *Lambda) DeleteCodeSigningConfig(input *DeleteCodeSigningConfigInput) (*DeleteCodeSigningConfigOutput, error) { + req, out := c.DeleteCodeSigningConfigRequest(input) + return out, req.Send() +} + +// DeleteCodeSigningConfigWithContext is the same as DeleteCodeSigningConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCodeSigningConfig 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 *Lambda) DeleteCodeSigningConfigWithContext(ctx aws.Context, input *DeleteCodeSigningConfigInput, opts ...request.Option) (*DeleteCodeSigningConfigOutput, error) { + req, out := c.DeleteCodeSigningConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteEventSourceMapping = "DeleteEventSourceMapping" // DeleteEventSourceMappingRequest generates a "aws/request.Request" representing the @@ -867,6 +1059,101 @@ func (c *Lambda) DeleteFunctionWithContext(ctx aws.Context, input *DeleteFunctio return out, req.Send() } +const opDeleteFunctionCodeSigningConfig = "DeleteFunctionCodeSigningConfig" + +// DeleteFunctionCodeSigningConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFunctionCodeSigningConfig 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 DeleteFunctionCodeSigningConfig for more information on using the DeleteFunctionCodeSigningConfig +// 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 DeleteFunctionCodeSigningConfigRequest method. +// req, resp := client.DeleteFunctionCodeSigningConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionCodeSigningConfig +func (c *Lambda) DeleteFunctionCodeSigningConfigRequest(input *DeleteFunctionCodeSigningConfigInput) (req *request.Request, output *DeleteFunctionCodeSigningConfigOutput) { + op := &request.Operation{ + Name: opDeleteFunctionCodeSigningConfig, + HTTPMethod: "DELETE", + HTTPPath: "/2020-06-30/functions/{FunctionName}/code-signing-config", + } + + if input == nil { + input = &DeleteFunctionCodeSigningConfigInput{} + } + + output = &DeleteFunctionCodeSigningConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteFunctionCodeSigningConfig API operation for AWS Lambda. +// +// Removes the code signing configuration from the function. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation DeleteFunctionCodeSigningConfig for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// One of the parameters in the request is invalid. +// +// * CodeSigningConfigNotFoundException +// The specified code signing configuration does not exist. +// +// * ResourceNotFoundException +// The resource specified in the request does not exist. +// +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * TooManyRequestsException +// The request throughput limit was exceeded. +// +// * ResourceConflictException +// The resource already exists, or another operation is in progress. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionCodeSigningConfig +func (c *Lambda) DeleteFunctionCodeSigningConfig(input *DeleteFunctionCodeSigningConfigInput) (*DeleteFunctionCodeSigningConfigOutput, error) { + req, out := c.DeleteFunctionCodeSigningConfigRequest(input) + return out, req.Send() +} + +// DeleteFunctionCodeSigningConfigWithContext is the same as DeleteFunctionCodeSigningConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFunctionCodeSigningConfig 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 *Lambda) DeleteFunctionCodeSigningConfigWithContext(ctx aws.Context, input *DeleteFunctionCodeSigningConfigInput, opts ...request.Option) (*DeleteFunctionCodeSigningConfigOutput, error) { + req, out := c.DeleteFunctionCodeSigningConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteFunctionConcurrency = "DeleteFunctionConcurrency" // DeleteFunctionConcurrencyRequest generates a "aws/request.Request" representing the @@ -1400,133 +1687,218 @@ func (c *Lambda) GetAliasWithContext(ctx aws.Context, input *GetAliasInput, opts return out, req.Send() } -const opGetEventSourceMapping = "GetEventSourceMapping" +const opGetCodeSigningConfig = "GetCodeSigningConfig" -// GetEventSourceMappingRequest generates a "aws/request.Request" representing the -// client's request for the GetEventSourceMapping operation. The "output" return +// GetCodeSigningConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetCodeSigningConfig 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 GetEventSourceMapping for more information on using the GetEventSourceMapping +// See GetCodeSigningConfig for more information on using the GetCodeSigningConfig // 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 GetEventSourceMappingRequest method. -// req, resp := client.GetEventSourceMappingRequest(params) +// // Example sending a request using the GetCodeSigningConfigRequest method. +// req, resp := client.GetCodeSigningConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping -func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetCodeSigningConfig +func (c *Lambda) GetCodeSigningConfigRequest(input *GetCodeSigningConfigInput) (req *request.Request, output *GetCodeSigningConfigOutput) { op := &request.Operation{ - Name: opGetEventSourceMapping, + Name: opGetCodeSigningConfig, HTTPMethod: "GET", - HTTPPath: "/2015-03-31/event-source-mappings/{UUID}", + HTTPPath: "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}", } if input == nil { - input = &GetEventSourceMappingInput{} + input = &GetCodeSigningConfigInput{} } - output = &EventSourceMappingConfiguration{} + output = &GetCodeSigningConfigOutput{} req = c.newRequest(op, input, output) return } -// GetEventSourceMapping API operation for AWS Lambda. +// GetCodeSigningConfig API operation for AWS Lambda. // -// Returns details about an event source mapping. You can get the identifier -// of a mapping from the output of ListEventSourceMappings. +// Returns information about the specified code signing configuration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lambda's -// API operation GetEventSourceMapping for usage and error information. +// API operation GetCodeSigningConfig for usage and error information. // // Returned Error Types: // * ServiceException // The AWS Lambda service encountered an internal error. // -// * ResourceNotFoundException -// The resource specified in the request does not exist. -// // * InvalidParameterValueException // One of the parameters in the request is invalid. // -// * TooManyRequestsException -// The request throughput limit was exceeded. +// * ResourceNotFoundException +// The resource specified in the request does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping -func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { - req, out := c.GetEventSourceMappingRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetCodeSigningConfig +func (c *Lambda) GetCodeSigningConfig(input *GetCodeSigningConfigInput) (*GetCodeSigningConfigOutput, error) { + req, out := c.GetCodeSigningConfigRequest(input) return out, req.Send() } -// GetEventSourceMappingWithContext is the same as GetEventSourceMapping with the addition of +// GetCodeSigningConfigWithContext is the same as GetCodeSigningConfig with the addition of // the ability to pass a context and additional request options. // -// See GetEventSourceMapping for details on how to use this API operation. +// See GetCodeSigningConfig 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 *Lambda) GetEventSourceMappingWithContext(ctx aws.Context, input *GetEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) { - req, out := c.GetEventSourceMappingRequest(input) +func (c *Lambda) GetCodeSigningConfigWithContext(ctx aws.Context, input *GetCodeSigningConfigInput, opts ...request.Option) (*GetCodeSigningConfigOutput, error) { + req, out := c.GetCodeSigningConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetFunction = "GetFunction" +const opGetEventSourceMapping = "GetEventSourceMapping" -// GetFunctionRequest generates a "aws/request.Request" representing the -// client's request for the GetFunction operation. The "output" return +// GetEventSourceMappingRequest generates a "aws/request.Request" representing the +// client's request for the GetEventSourceMapping 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 GetFunction for more information on using the GetFunction +// See GetEventSourceMapping for more information on using the GetEventSourceMapping // 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 GetFunctionRequest method. -// req, resp := client.GetFunctionRequest(params) +// // Example sending a request using the GetEventSourceMappingRequest method. +// req, resp := client.GetEventSourceMappingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction -func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping +func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) (req *request.Request, output *EventSourceMappingConfiguration) { op := &request.Operation{ - Name: opGetFunction, + Name: opGetEventSourceMapping, HTTPMethod: "GET", - HTTPPath: "/2015-03-31/functions/{FunctionName}", + HTTPPath: "/2015-03-31/event-source-mappings/{UUID}", } if input == nil { - input = &GetFunctionInput{} + input = &GetEventSourceMappingInput{} } - output = &GetFunctionOutput{} + output = &EventSourceMappingConfiguration{} + req = c.newRequest(op, input, output) + return +} + +// GetEventSourceMapping API operation for AWS Lambda. +// +// Returns details about an event source mapping. You can get the identifier +// of a mapping from the output of ListEventSourceMappings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation GetEventSourceMapping for usage and error information. +// +// Returned Error Types: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * ResourceNotFoundException +// The resource specified in the request does not exist. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. +// +// * TooManyRequestsException +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping +func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { + req, out := c.GetEventSourceMappingRequest(input) + return out, req.Send() +} + +// GetEventSourceMappingWithContext is the same as GetEventSourceMapping with the addition of +// the ability to pass a context and additional request options. +// +// See GetEventSourceMapping 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 *Lambda) GetEventSourceMappingWithContext(ctx aws.Context, input *GetEventSourceMappingInput, opts ...request.Option) (*EventSourceMappingConfiguration, error) { + req, out := c.GetEventSourceMappingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetFunction = "GetFunction" + +// GetFunctionRequest generates a "aws/request.Request" representing the +// client's request for the GetFunction 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 GetFunction for more information on using the GetFunction +// 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 GetFunctionRequest method. +// req, resp := client.GetFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction +func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) { + op := &request.Operation{ + Name: opGetFunction, + HTTPMethod: "GET", + HTTPPath: "/2015-03-31/functions/{FunctionName}", + } + + if input == nil { + input = &GetFunctionInput{} + } + + output = &GetFunctionOutput{} req = c.newRequest(op, input, output) return } @@ -1579,6 +1951,94 @@ func (c *Lambda) GetFunctionWithContext(ctx aws.Context, input *GetFunctionInput return out, req.Send() } +const opGetFunctionCodeSigningConfig = "GetFunctionCodeSigningConfig" + +// GetFunctionCodeSigningConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetFunctionCodeSigningConfig 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 GetFunctionCodeSigningConfig for more information on using the GetFunctionCodeSigningConfig +// 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 GetFunctionCodeSigningConfigRequest method. +// req, resp := client.GetFunctionCodeSigningConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionCodeSigningConfig +func (c *Lambda) GetFunctionCodeSigningConfigRequest(input *GetFunctionCodeSigningConfigInput) (req *request.Request, output *GetFunctionCodeSigningConfigOutput) { + op := &request.Operation{ + Name: opGetFunctionCodeSigningConfig, + HTTPMethod: "GET", + HTTPPath: "/2020-06-30/functions/{FunctionName}/code-signing-config", + } + + if input == nil { + input = &GetFunctionCodeSigningConfigInput{} + } + + output = &GetFunctionCodeSigningConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetFunctionCodeSigningConfig API operation for AWS Lambda. +// +// Returns the code signing configuration for the specified function. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation GetFunctionCodeSigningConfig for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// One of the parameters in the request is invalid. +// +// * ResourceNotFoundException +// The resource specified in the request does not exist. +// +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * TooManyRequestsException +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionCodeSigningConfig +func (c *Lambda) GetFunctionCodeSigningConfig(input *GetFunctionCodeSigningConfigInput) (*GetFunctionCodeSigningConfigOutput, error) { + req, out := c.GetFunctionCodeSigningConfigRequest(input) + return out, req.Send() +} + +// GetFunctionCodeSigningConfigWithContext is the same as GetFunctionCodeSigningConfig with the addition of +// the ability to pass a context and additional request options. +// +// See GetFunctionCodeSigningConfig 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 *Lambda) GetFunctionCodeSigningConfigWithContext(ctx aws.Context, input *GetFunctionCodeSigningConfigInput, opts ...request.Option) (*GetFunctionCodeSigningConfigOutput, error) { + req, out := c.GetFunctionCodeSigningConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetFunctionConcurrency = "GetFunctionConcurrency" // GetFunctionConcurrencyRequest generates a "aws/request.Request" representing the @@ -2755,37 +3215,37 @@ func (c *Lambda) ListAliasesPagesWithContext(ctx aws.Context, input *ListAliases return p.Err() } -const opListEventSourceMappings = "ListEventSourceMappings" +const opListCodeSigningConfigs = "ListCodeSigningConfigs" -// ListEventSourceMappingsRequest generates a "aws/request.Request" representing the -// client's request for the ListEventSourceMappings operation. The "output" return +// ListCodeSigningConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListCodeSigningConfigs 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 ListEventSourceMappings for more information on using the ListEventSourceMappings +// See ListCodeSigningConfigs for more information on using the ListCodeSigningConfigs // 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 ListEventSourceMappingsRequest method. -// req, resp := client.ListEventSourceMappingsRequest(params) +// // Example sending a request using the ListCodeSigningConfigsRequest method. +// req, resp := client.ListCodeSigningConfigsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings -func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsInput) (req *request.Request, output *ListEventSourceMappingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListCodeSigningConfigs +func (c *Lambda) ListCodeSigningConfigsRequest(input *ListCodeSigningConfigsInput) (req *request.Request, output *ListCodeSigningConfigsOutput) { op := &request.Operation{ - Name: opListEventSourceMappings, + Name: opListCodeSigningConfigs, HTTPMethod: "GET", - HTTPPath: "/2015-03-31/event-source-mappings/", + HTTPPath: "/2020-04-22/code-signing-configs/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"NextMarker"}, @@ -2795,98 +3255,94 @@ func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsIn } if input == nil { - input = &ListEventSourceMappingsInput{} + input = &ListCodeSigningConfigsInput{} } - output = &ListEventSourceMappingsOutput{} + output = &ListCodeSigningConfigsOutput{} req = c.newRequest(op, input, output) return } -// ListEventSourceMappings API operation for AWS Lambda. +// ListCodeSigningConfigs API operation for AWS Lambda. // -// Lists event source mappings. Specify an EventSourceArn to only show event -// source mappings for a single event source. +// Returns a list of code signing configurations (https://docs.aws.amazon.com/lambda/latest/dg/configuring-codesigning.html) +// for the specified function. A request returns up to 10,000 configurations +// per call. You can use the MaxItems parameter to return fewer configurations +// per call. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lambda's -// API operation ListEventSourceMappings for usage and error information. +// API operation ListCodeSigningConfigs for usage and error information. // // Returned Error Types: // * ServiceException // The AWS Lambda service encountered an internal error. // -// * ResourceNotFoundException -// The resource specified in the request does not exist. -// // * InvalidParameterValueException // One of the parameters in the request is invalid. // -// * TooManyRequestsException -// The request throughput limit was exceeded. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings -func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) { - req, out := c.ListEventSourceMappingsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListCodeSigningConfigs +func (c *Lambda) ListCodeSigningConfigs(input *ListCodeSigningConfigsInput) (*ListCodeSigningConfigsOutput, error) { + req, out := c.ListCodeSigningConfigsRequest(input) return out, req.Send() } -// ListEventSourceMappingsWithContext is the same as ListEventSourceMappings with the addition of +// ListCodeSigningConfigsWithContext is the same as ListCodeSigningConfigs with the addition of // the ability to pass a context and additional request options. // -// See ListEventSourceMappings for details on how to use this API operation. +// See ListCodeSigningConfigs 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 *Lambda) ListEventSourceMappingsWithContext(ctx aws.Context, input *ListEventSourceMappingsInput, opts ...request.Option) (*ListEventSourceMappingsOutput, error) { - req, out := c.ListEventSourceMappingsRequest(input) +func (c *Lambda) ListCodeSigningConfigsWithContext(ctx aws.Context, input *ListCodeSigningConfigsInput, opts ...request.Option) (*ListCodeSigningConfigsOutput, error) { + req, out := c.ListCodeSigningConfigsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListEventSourceMappingsPages iterates over the pages of a ListEventSourceMappings operation, +// ListCodeSigningConfigsPages iterates over the pages of a ListCodeSigningConfigs operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListEventSourceMappings method for more information on how to use this operation. +// See ListCodeSigningConfigs method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListEventSourceMappings operation. +// // Example iterating over at most 3 pages of a ListCodeSigningConfigs operation. // pageNum := 0 -// err := client.ListEventSourceMappingsPages(params, -// func(page *lambda.ListEventSourceMappingsOutput, lastPage bool) bool { +// err := client.ListCodeSigningConfigsPages(params, +// func(page *lambda.ListCodeSigningConfigsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Lambda) ListEventSourceMappingsPages(input *ListEventSourceMappingsInput, fn func(*ListEventSourceMappingsOutput, bool) bool) error { - return c.ListEventSourceMappingsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Lambda) ListCodeSigningConfigsPages(input *ListCodeSigningConfigsInput, fn func(*ListCodeSigningConfigsOutput, bool) bool) error { + return c.ListCodeSigningConfigsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListEventSourceMappingsPagesWithContext same as ListEventSourceMappingsPages except +// ListCodeSigningConfigsPagesWithContext same as ListCodeSigningConfigsPages except // it takes a Context and allows setting request options on the pages. // // 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 *Lambda) ListEventSourceMappingsPagesWithContext(ctx aws.Context, input *ListEventSourceMappingsInput, fn func(*ListEventSourceMappingsOutput, bool) bool, opts ...request.Option) error { +func (c *Lambda) ListCodeSigningConfigsPagesWithContext(ctx aws.Context, input *ListCodeSigningConfigsInput, fn func(*ListCodeSigningConfigsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListEventSourceMappingsInput + var inCpy *ListCodeSigningConfigsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListEventSourceMappingsRequest(inCpy) + req, _ := c.ListCodeSigningConfigsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2894,7 +3350,7 @@ func (c *Lambda) ListEventSourceMappingsPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListEventSourceMappingsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCodeSigningConfigsOutput), !p.HasNextPage()) { break } } @@ -2902,37 +3358,37 @@ func (c *Lambda) ListEventSourceMappingsPagesWithContext(ctx aws.Context, input return p.Err() } -const opListFunctionEventInvokeConfigs = "ListFunctionEventInvokeConfigs" +const opListEventSourceMappings = "ListEventSourceMappings" -// ListFunctionEventInvokeConfigsRequest generates a "aws/request.Request" representing the -// client's request for the ListFunctionEventInvokeConfigs operation. The "output" return +// ListEventSourceMappingsRequest generates a "aws/request.Request" representing the +// client's request for the ListEventSourceMappings 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 ListFunctionEventInvokeConfigs for more information on using the ListFunctionEventInvokeConfigs +// See ListEventSourceMappings for more information on using the ListEventSourceMappings // 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 ListFunctionEventInvokeConfigsRequest method. -// req, resp := client.ListFunctionEventInvokeConfigsRequest(params) +// // Example sending a request using the ListEventSourceMappingsRequest method. +// req, resp := client.ListEventSourceMappingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs -func (c *Lambda) ListFunctionEventInvokeConfigsRequest(input *ListFunctionEventInvokeConfigsInput) (req *request.Request, output *ListFunctionEventInvokeConfigsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings +func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsInput) (req *request.Request, output *ListEventSourceMappingsOutput) { op := &request.Operation{ - Name: opListFunctionEventInvokeConfigs, + Name: opListEventSourceMappings, HTTPMethod: "GET", - HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config/list", + HTTPPath: "/2015-03-31/event-source-mappings/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"NextMarker"}, @@ -2942,67 +3398,214 @@ func (c *Lambda) ListFunctionEventInvokeConfigsRequest(input *ListFunctionEventI } if input == nil { - input = &ListFunctionEventInvokeConfigsInput{} + input = &ListEventSourceMappingsInput{} } - output = &ListFunctionEventInvokeConfigsOutput{} + output = &ListEventSourceMappingsOutput{} req = c.newRequest(op, input, output) return } -// ListFunctionEventInvokeConfigs API operation for AWS Lambda. -// -// Retrieves a list of configurations for asynchronous invocation for a function. +// ListEventSourceMappings API operation for AWS Lambda. // -// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// Lists event source mappings. Specify an EventSourceArn to only show event +// source mappings for a single event source. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lambda's -// API operation ListFunctionEventInvokeConfigs for usage and error information. +// API operation ListEventSourceMappings for usage and error information. // // Returned Error Types: -// * InvalidParameterValueException -// One of the parameters in the request is invalid. +// * ServiceException +// The AWS Lambda service encountered an internal error. // // * ResourceNotFoundException // The resource specified in the request does not exist. // +// * InvalidParameterValueException +// One of the parameters in the request is invalid. +// // * TooManyRequestsException // The request throughput limit was exceeded. // -// * ServiceException -// The AWS Lambda service encountered an internal error. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs -func (c *Lambda) ListFunctionEventInvokeConfigs(input *ListFunctionEventInvokeConfigsInput) (*ListFunctionEventInvokeConfigsOutput, error) { - req, out := c.ListFunctionEventInvokeConfigsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings +func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) { + req, out := c.ListEventSourceMappingsRequest(input) return out, req.Send() } -// ListFunctionEventInvokeConfigsWithContext is the same as ListFunctionEventInvokeConfigs with the addition of +// ListEventSourceMappingsWithContext is the same as ListEventSourceMappings with the addition of // the ability to pass a context and additional request options. // -// See ListFunctionEventInvokeConfigs for details on how to use this API operation. +// See ListEventSourceMappings 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 *Lambda) ListFunctionEventInvokeConfigsWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, opts ...request.Option) (*ListFunctionEventInvokeConfigsOutput, error) { - req, out := c.ListFunctionEventInvokeConfigsRequest(input) +func (c *Lambda) ListEventSourceMappingsWithContext(ctx aws.Context, input *ListEventSourceMappingsInput, opts ...request.Option) (*ListEventSourceMappingsOutput, error) { + req, out := c.ListEventSourceMappingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListFunctionEventInvokeConfigsPages iterates over the pages of a ListFunctionEventInvokeConfigs operation, +// ListEventSourceMappingsPages iterates over the pages of a ListEventSourceMappings operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListFunctionEventInvokeConfigs method for more information on how to use this operation. +// See ListEventSourceMappings method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEventSourceMappings operation. +// pageNum := 0 +// err := client.ListEventSourceMappingsPages(params, +// func(page *lambda.ListEventSourceMappingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Lambda) ListEventSourceMappingsPages(input *ListEventSourceMappingsInput, fn func(*ListEventSourceMappingsOutput, bool) bool) error { + return c.ListEventSourceMappingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEventSourceMappingsPagesWithContext same as ListEventSourceMappingsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *Lambda) ListEventSourceMappingsPagesWithContext(ctx aws.Context, input *ListEventSourceMappingsInput, fn func(*ListEventSourceMappingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEventSourceMappingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEventSourceMappingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEventSourceMappingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFunctionEventInvokeConfigs = "ListFunctionEventInvokeConfigs" + +// ListFunctionEventInvokeConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListFunctionEventInvokeConfigs 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 ListFunctionEventInvokeConfigs for more information on using the ListFunctionEventInvokeConfigs +// 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 ListFunctionEventInvokeConfigsRequest method. +// req, resp := client.ListFunctionEventInvokeConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs +func (c *Lambda) ListFunctionEventInvokeConfigsRequest(input *ListFunctionEventInvokeConfigsInput) (req *request.Request, output *ListFunctionEventInvokeConfigsOutput) { + op := &request.Operation{ + Name: opListFunctionEventInvokeConfigs, + HTTPMethod: "GET", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config/list", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"NextMarker"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFunctionEventInvokeConfigsInput{} + } + + output = &ListFunctionEventInvokeConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFunctionEventInvokeConfigs API operation for AWS Lambda. +// +// Retrieves a list of configurations for asynchronous invocation for a function. +// +// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation ListFunctionEventInvokeConfigs for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// One of the parameters in the request is invalid. +// +// * ResourceNotFoundException +// The resource specified in the request does not exist. +// +// * TooManyRequestsException +// The request throughput limit was exceeded. +// +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs +func (c *Lambda) ListFunctionEventInvokeConfigs(input *ListFunctionEventInvokeConfigsInput) (*ListFunctionEventInvokeConfigsOutput, error) { + req, out := c.ListFunctionEventInvokeConfigsRequest(input) + return out, req.Send() +} + +// ListFunctionEventInvokeConfigsWithContext is the same as ListFunctionEventInvokeConfigs with the addition of +// the ability to pass a context and additional request options. +// +// See ListFunctionEventInvokeConfigs 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 *Lambda) ListFunctionEventInvokeConfigsWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, opts ...request.Option) (*ListFunctionEventInvokeConfigsOutput, error) { + req, out := c.ListFunctionEventInvokeConfigsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFunctionEventInvokeConfigsPages iterates over the pages of a ListFunctionEventInvokeConfigs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFunctionEventInvokeConfigs method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // @@ -3198,6 +3801,151 @@ func (c *Lambda) ListFunctionsPagesWithContext(ctx aws.Context, input *ListFunct return p.Err() } +const opListFunctionsByCodeSigningConfig = "ListFunctionsByCodeSigningConfig" + +// ListFunctionsByCodeSigningConfigRequest generates a "aws/request.Request" representing the +// client's request for the ListFunctionsByCodeSigningConfig 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 ListFunctionsByCodeSigningConfig for more information on using the ListFunctionsByCodeSigningConfig +// 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 ListFunctionsByCodeSigningConfigRequest method. +// req, resp := client.ListFunctionsByCodeSigningConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionsByCodeSigningConfig +func (c *Lambda) ListFunctionsByCodeSigningConfigRequest(input *ListFunctionsByCodeSigningConfigInput) (req *request.Request, output *ListFunctionsByCodeSigningConfigOutput) { + op := &request.Operation{ + Name: opListFunctionsByCodeSigningConfig, + HTTPMethod: "GET", + HTTPPath: "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}/functions", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"NextMarker"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFunctionsByCodeSigningConfigInput{} + } + + output = &ListFunctionsByCodeSigningConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFunctionsByCodeSigningConfig API operation for AWS Lambda. +// +// List the functions that use the specified code signing configuration. You +// can use this method prior to deleting a code signing configuration, to verify +// that no functions are using it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation ListFunctionsByCodeSigningConfig for usage and error information. +// +// Returned Error Types: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. +// +// * ResourceNotFoundException +// The resource specified in the request does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionsByCodeSigningConfig +func (c *Lambda) ListFunctionsByCodeSigningConfig(input *ListFunctionsByCodeSigningConfigInput) (*ListFunctionsByCodeSigningConfigOutput, error) { + req, out := c.ListFunctionsByCodeSigningConfigRequest(input) + return out, req.Send() +} + +// ListFunctionsByCodeSigningConfigWithContext is the same as ListFunctionsByCodeSigningConfig with the addition of +// the ability to pass a context and additional request options. +// +// See ListFunctionsByCodeSigningConfig 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 *Lambda) ListFunctionsByCodeSigningConfigWithContext(ctx aws.Context, input *ListFunctionsByCodeSigningConfigInput, opts ...request.Option) (*ListFunctionsByCodeSigningConfigOutput, error) { + req, out := c.ListFunctionsByCodeSigningConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFunctionsByCodeSigningConfigPages iterates over the pages of a ListFunctionsByCodeSigningConfig operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFunctionsByCodeSigningConfig method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFunctionsByCodeSigningConfig operation. +// pageNum := 0 +// err := client.ListFunctionsByCodeSigningConfigPages(params, +// func(page *lambda.ListFunctionsByCodeSigningConfigOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Lambda) ListFunctionsByCodeSigningConfigPages(input *ListFunctionsByCodeSigningConfigInput, fn func(*ListFunctionsByCodeSigningConfigOutput, bool) bool) error { + return c.ListFunctionsByCodeSigningConfigPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFunctionsByCodeSigningConfigPagesWithContext same as ListFunctionsByCodeSigningConfigPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *Lambda) ListFunctionsByCodeSigningConfigPagesWithContext(ctx aws.Context, input *ListFunctionsByCodeSigningConfigInput, fn func(*ListFunctionsByCodeSigningConfigOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFunctionsByCodeSigningConfigInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFunctionsByCodeSigningConfigRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFunctionsByCodeSigningConfigOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListLayerVersions = "ListLayerVersions" // ListLayerVersionsRequest generates a "aws/request.Request" representing the @@ -4079,6 +4827,102 @@ func (c *Lambda) PublishVersionWithContext(ctx aws.Context, input *PublishVersio return out, req.Send() } +const opPutFunctionCodeSigningConfig = "PutFunctionCodeSigningConfig" + +// PutFunctionCodeSigningConfigRequest generates a "aws/request.Request" representing the +// client's request for the PutFunctionCodeSigningConfig 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 PutFunctionCodeSigningConfig for more information on using the PutFunctionCodeSigningConfig +// 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 PutFunctionCodeSigningConfigRequest method. +// req, resp := client.PutFunctionCodeSigningConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionCodeSigningConfig +func (c *Lambda) PutFunctionCodeSigningConfigRequest(input *PutFunctionCodeSigningConfigInput) (req *request.Request, output *PutFunctionCodeSigningConfigOutput) { + op := &request.Operation{ + Name: opPutFunctionCodeSigningConfig, + HTTPMethod: "PUT", + HTTPPath: "/2020-06-30/functions/{FunctionName}/code-signing-config", + } + + if input == nil { + input = &PutFunctionCodeSigningConfigInput{} + } + + output = &PutFunctionCodeSigningConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutFunctionCodeSigningConfig API operation for AWS Lambda. +// +// Update the code signing configuration for the function. Changes to the code +// signing configuration take effect the next time a user tries to deploy a +// code package to the function. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation PutFunctionCodeSigningConfig for usage and error information. +// +// Returned Error Types: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. +// +// * ResourceNotFoundException +// The resource specified in the request does not exist. +// +// * TooManyRequestsException +// The request throughput limit was exceeded. +// +// * ResourceConflictException +// The resource already exists, or another operation is in progress. +// +// * CodeSigningConfigNotFoundException +// The specified code signing configuration does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionCodeSigningConfig +func (c *Lambda) PutFunctionCodeSigningConfig(input *PutFunctionCodeSigningConfigInput) (*PutFunctionCodeSigningConfigOutput, error) { + req, out := c.PutFunctionCodeSigningConfigRequest(input) + return out, req.Send() +} + +// PutFunctionCodeSigningConfigWithContext is the same as PutFunctionCodeSigningConfig with the addition of +// the ability to pass a context and additional request options. +// +// See PutFunctionCodeSigningConfig 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 *Lambda) PutFunctionCodeSigningConfigWithContext(ctx aws.Context, input *PutFunctionCodeSigningConfigInput, opts ...request.Option) (*PutFunctionCodeSigningConfigOutput, error) { + req, out := c.PutFunctionCodeSigningConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutFunctionConcurrency = "PutFunctionConcurrency" // PutFunctionConcurrencyRequest generates a "aws/request.Request" representing the @@ -4821,31 +5665,117 @@ func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Reque // * TooManyRequestsException // The request throughput limit was exceeded. // -// * PreconditionFailedException -// The RevisionId provided does not match the latest RevisionId for the Lambda -// function or alias. Call the GetFunction or the GetAlias API to retrieve the -// latest RevisionId for your resource. +// * PreconditionFailedException +// The RevisionId provided does not match the latest RevisionId for the Lambda +// function or alias. Call the GetFunction or the GetAlias API to retrieve the +// latest RevisionId for your resource. +// +// * ResourceConflictException +// The resource already exists, or another operation is in progress. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias +func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, error) { + req, out := c.UpdateAliasRequest(input) + return out, req.Send() +} + +// UpdateAliasWithContext is the same as UpdateAlias with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAlias 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 *Lambda) UpdateAliasWithContext(ctx aws.Context, input *UpdateAliasInput, opts ...request.Option) (*AliasConfiguration, error) { + req, out := c.UpdateAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCodeSigningConfig = "UpdateCodeSigningConfig" + +// UpdateCodeSigningConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCodeSigningConfig 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 UpdateCodeSigningConfig for more information on using the UpdateCodeSigningConfig +// 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 UpdateCodeSigningConfigRequest method. +// req, resp := client.UpdateCodeSigningConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateCodeSigningConfig +func (c *Lambda) UpdateCodeSigningConfigRequest(input *UpdateCodeSigningConfigInput) (req *request.Request, output *UpdateCodeSigningConfigOutput) { + op := &request.Operation{ + Name: opUpdateCodeSigningConfig, + HTTPMethod: "PUT", + HTTPPath: "/2020-04-22/code-signing-configs/{CodeSigningConfigArn}", + } + + if input == nil { + input = &UpdateCodeSigningConfigInput{} + } + + output = &UpdateCodeSigningConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCodeSigningConfig API operation for AWS Lambda. +// +// Update the code signing configuration. Changes to the code signing configuration +// take effect the next time a user tries to deploy a code package to the function. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lambda's +// API operation UpdateCodeSigningConfig for usage and error information. +// +// Returned Error Types: +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +// * InvalidParameterValueException +// One of the parameters in the request is invalid. // -// * ResourceConflictException -// The resource already exists, or another operation is in progress. +// * ResourceNotFoundException +// The resource specified in the request does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias -func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, error) { - req, out := c.UpdateAliasRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateCodeSigningConfig +func (c *Lambda) UpdateCodeSigningConfig(input *UpdateCodeSigningConfigInput) (*UpdateCodeSigningConfigOutput, error) { + req, out := c.UpdateCodeSigningConfigRequest(input) return out, req.Send() } -// UpdateAliasWithContext is the same as UpdateAlias with the addition of +// UpdateCodeSigningConfigWithContext is the same as UpdateCodeSigningConfig with the addition of // the ability to pass a context and additional request options. // -// See UpdateAlias for details on how to use this API operation. +// See UpdateCodeSigningConfig 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 *Lambda) UpdateAliasWithContext(ctx aws.Context, input *UpdateAliasInput, opts ...request.Option) (*AliasConfiguration, error) { - req, out := c.UpdateAliasRequest(input) +func (c *Lambda) UpdateCodeSigningConfigWithContext(ctx aws.Context, input *UpdateCodeSigningConfigInput, opts ...request.Option) (*UpdateCodeSigningConfigOutput, error) { + req, out := c.UpdateCodeSigningConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -5011,7 +5941,9 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // UpdateFunctionCode API operation for AWS Lambda. // -// Updates a Lambda function's code. +// Updates a Lambda function's code. If code signing is enabled for the function, +// the code package must be signed by a trusted publisher. For more information, +// see Configuring code signing (https://docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html). // // The function's code is locked when you publish a version. You can't modify // the code of a published version, only the unpublished version. @@ -5047,6 +5979,18 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // * ResourceConflictException // The resource already exists, or another operation is in progress. // +// * CodeVerificationFailedException +// The code signature failed one or more of the validation checks for signature +// mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda +// blocks the deployment. +// +// * InvalidCodeSignatureException +// The code signature failed the integrity check. Lambda always blocks deployment +// if the integrity check fails, even if code signing policy is set to WARN. +// +// * CodeSigningConfigNotFoundException +// The specified code signing configuration does not exist. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode func (c *Lambda) UpdateFunctionCode(input *UpdateFunctionCodeInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionCodeRequest(input) @@ -5158,6 +6102,18 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // function or alias. Call the GetFunction or the GetAlias API to retrieve the // latest RevisionId for your resource. // +// * CodeVerificationFailedException +// The code signature failed one or more of the validation checks for signature +// mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda +// blocks the deployment. +// +// * InvalidCodeSignatureException +// The code signature failed the integrity check. Lambda always blocks deployment +// if the integrity check fails, even if code signing policy is set to WARN. +// +// * CodeSigningConfigNotFoundException +// The specified code signing configuration does not exist. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration func (c *Lambda) UpdateFunctionConfiguration(input *UpdateFunctionConfigurationInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionConfigurationRequest(input) @@ -5798,6 +6754,218 @@ func (s *AliasRoutingConfiguration) SetAdditionalVersionWeights(v map[string]*fl return s } +// List of signing profiles that can sign a code package. +type AllowedPublishers struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for each of the signing profiles. A signing + // profile defines a trusted user who can sign a code package. + // + // SigningProfileVersionArns is a required field + SigningProfileVersionArns []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s AllowedPublishers) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AllowedPublishers) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AllowedPublishers) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AllowedPublishers"} + if s.SigningProfileVersionArns == nil { + invalidParams.Add(request.NewErrParamRequired("SigningProfileVersionArns")) + } + if s.SigningProfileVersionArns != nil && len(s.SigningProfileVersionArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SigningProfileVersionArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSigningProfileVersionArns sets the SigningProfileVersionArns field's value. +func (s *AllowedPublishers) SetSigningProfileVersionArns(v []*string) *AllowedPublishers { + s.SigningProfileVersionArns = v + return s +} + +// Details about a Code signing configuration. +type CodeSigningConfig struct { + _ struct{} `type:"structure"` + + // List of allowed publishers. + // + // AllowedPublishers is a required field + AllowedPublishers *AllowedPublishers `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the Code signing configuration. + // + // CodeSigningConfigArn is a required field + CodeSigningConfigArn *string `type:"string" required:"true"` + + // Unique identifer for the Code signing configuration. + // + // CodeSigningConfigId is a required field + CodeSigningConfigId *string `type:"string" required:"true"` + + // The code signing policy controls the validation failure action for signature + // mismatch or expiry. + // + // CodeSigningPolicies is a required field + CodeSigningPolicies *CodeSigningPolicies `type:"structure" required:"true"` + + // Code signing configuration description. + Description *string `type:"string"` + + // The date and time that the Code signing configuration was last modified, + // in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). + // + // LastModified is a required field + LastModified *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CodeSigningConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeSigningConfig) GoString() string { + return s.String() +} + +// SetAllowedPublishers sets the AllowedPublishers field's value. +func (s *CodeSigningConfig) SetAllowedPublishers(v *AllowedPublishers) *CodeSigningConfig { + s.AllowedPublishers = v + return s +} + +// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value. +func (s *CodeSigningConfig) SetCodeSigningConfigArn(v string) *CodeSigningConfig { + s.CodeSigningConfigArn = &v + return s +} + +// SetCodeSigningConfigId sets the CodeSigningConfigId field's value. +func (s *CodeSigningConfig) SetCodeSigningConfigId(v string) *CodeSigningConfig { + s.CodeSigningConfigId = &v + return s +} + +// SetCodeSigningPolicies sets the CodeSigningPolicies field's value. +func (s *CodeSigningConfig) SetCodeSigningPolicies(v *CodeSigningPolicies) *CodeSigningConfig { + s.CodeSigningPolicies = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CodeSigningConfig) SetDescription(v string) *CodeSigningConfig { + s.Description = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *CodeSigningConfig) SetLastModified(v string) *CodeSigningConfig { + s.LastModified = &v + return s +} + +// The specified code signing configuration does not exist. +type CodeSigningConfigNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + Type *string `type:"string"` +} + +// String returns the string representation +func (s CodeSigningConfigNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeSigningConfigNotFoundException) GoString() string { + return s.String() +} + +func newErrorCodeSigningConfigNotFoundException(v protocol.ResponseMetadata) error { + return &CodeSigningConfigNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *CodeSigningConfigNotFoundException) Code() string { + return "CodeSigningConfigNotFoundException" +} + +// Message returns the exception's message. +func (s *CodeSigningConfigNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *CodeSigningConfigNotFoundException) OrigErr() error { + return nil +} + +func (s *CodeSigningConfigNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *CodeSigningConfigNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *CodeSigningConfigNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Code signing configuration policies specifies the validation failure action +// for signature mismatch or expiry. +type CodeSigningPolicies struct { + _ struct{} `type:"structure"` + + // Code signing configuration policy for deployment validation failure. If you + // set the policy to Enforce, Lambda blocks the deployment request if code-signing + // validation checks fail. If you set the policy to Warn, Lambda allows the + // deployment and creates a CloudWatch log. + // + // Default value: Warn + UntrustedArtifactOnDeployment *string `type:"string" enum:"CodeSigningPolicy"` +} + +// String returns the string representation +func (s CodeSigningPolicies) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeSigningPolicies) GoString() string { + return s.String() +} + +// SetUntrustedArtifactOnDeployment sets the UntrustedArtifactOnDeployment field's value. +func (s *CodeSigningPolicies) SetUntrustedArtifactOnDeployment(v string) *CodeSigningPolicies { + s.UntrustedArtifactOnDeployment = &v + return s +} + // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) type CodeStorageExceededException struct { _ struct{} `type:"structure"` @@ -5857,6 +7025,66 @@ func (s *CodeStorageExceededException) RequestID() string { return s.RespMetadata.RequestID } +// The code signature failed one or more of the validation checks for signature +// mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda +// blocks the deployment. +type CodeVerificationFailedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + Type *string `type:"string"` +} + +// String returns the string representation +func (s CodeVerificationFailedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeVerificationFailedException) GoString() string { + return s.String() +} + +func newErrorCodeVerificationFailedException(v protocol.ResponseMetadata) error { + return &CodeVerificationFailedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *CodeVerificationFailedException) Code() string { + return "CodeVerificationFailedException" +} + +// Message returns the exception's message. +func (s *CodeVerificationFailedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *CodeVerificationFailedException) OrigErr() error { + return nil +} + +func (s *CodeVerificationFailedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *CodeVerificationFailedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *CodeVerificationFailedException) RequestID() string { + return s.RespMetadata.RequestID +} + type CreateAliasInput struct { _ struct{} `type:"structure"` @@ -5950,15 +7178,102 @@ func (s *CreateAliasInput) SetFunctionVersion(v string) *CreateAliasInput { return s } -// SetName sets the Name field's value. -func (s *CreateAliasInput) SetName(v string) *CreateAliasInput { - s.Name = &v - return s +// SetName sets the Name field's value. +func (s *CreateAliasInput) SetName(v string) *CreateAliasInput { + s.Name = &v + return s +} + +// SetRoutingConfig sets the RoutingConfig field's value. +func (s *CreateAliasInput) SetRoutingConfig(v *AliasRoutingConfiguration) *CreateAliasInput { + s.RoutingConfig = v + return s +} + +type CreateCodeSigningConfigInput struct { + _ struct{} `type:"structure"` + + // Signing profiles for this code signing configuration. + // + // AllowedPublishers is a required field + AllowedPublishers *AllowedPublishers `type:"structure" required:"true"` + + // The code signing policies define the actions to take if the validation checks + // fail. + CodeSigningPolicies *CodeSigningPolicies `type:"structure"` + + // Descriptive name for this code signing configuration. + Description *string `type:"string"` +} + +// String returns the string representation +func (s CreateCodeSigningConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCodeSigningConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCodeSigningConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCodeSigningConfigInput"} + if s.AllowedPublishers == nil { + invalidParams.Add(request.NewErrParamRequired("AllowedPublishers")) + } + if s.AllowedPublishers != nil { + if err := s.AllowedPublishers.Validate(); err != nil { + invalidParams.AddNested("AllowedPublishers", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedPublishers sets the AllowedPublishers field's value. +func (s *CreateCodeSigningConfigInput) SetAllowedPublishers(v *AllowedPublishers) *CreateCodeSigningConfigInput { + s.AllowedPublishers = v + return s +} + +// SetCodeSigningPolicies sets the CodeSigningPolicies field's value. +func (s *CreateCodeSigningConfigInput) SetCodeSigningPolicies(v *CodeSigningPolicies) *CreateCodeSigningConfigInput { + s.CodeSigningPolicies = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateCodeSigningConfigInput) SetDescription(v string) *CreateCodeSigningConfigInput { + s.Description = &v + return s +} + +type CreateCodeSigningConfigOutput struct { + _ struct{} `type:"structure"` + + // The code signing configuration. + // + // CodeSigningConfig is a required field + CodeSigningConfig *CodeSigningConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateCodeSigningConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCodeSigningConfigOutput) GoString() string { + return s.String() } -// SetRoutingConfig sets the RoutingConfig field's value. -func (s *CreateAliasInput) SetRoutingConfig(v *AliasRoutingConfiguration) *CreateAliasInput { - s.RoutingConfig = v +// SetCodeSigningConfig sets the CodeSigningConfig field's value. +func (s *CreateCodeSigningConfigOutput) SetCodeSigningConfig(v *CodeSigningConfig) *CreateCodeSigningConfigOutput { + s.CodeSigningConfig = v return s } @@ -6209,6 +7524,11 @@ type CreateFunctionInput struct { // Code is a required field Code *FunctionCode `type:"structure" required:"true"` + // To enable code signing for this function, specify the ARN of a code-signing + // configuration. A code-signing configuration includes set set of signing profiles, + // which define the trusted publishers for this function. + CodeSigningConfigArn *string `type:"string"` + // A dead letter queue configuration that specifies the queue or topic where // Lambda sends asynchronous events when they fail processing. For more information, // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq). @@ -6359,6 +7679,12 @@ func (s *CreateFunctionInput) SetCode(v *FunctionCode) *CreateFunctionInput { return s } +// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value. +func (s *CreateFunctionInput) SetCodeSigningConfigArn(v string) *CreateFunctionInput { + s.CodeSigningConfigArn = &v + return s +} + // SetDeadLetterConfig sets the DeadLetterConfig field's value. func (s *CreateFunctionInput) SetDeadLetterConfig(v *DeadLetterConfig) *CreateFunctionInput { s.DeadLetterConfig = v @@ -6563,6 +7889,61 @@ func (s DeleteAliasOutput) GoString() string { return s.String() } +type DeleteCodeSigningConfigInput struct { + _ struct{} `type:"structure"` + + // The The Amazon Resource Name (ARN) of the code signing configuration. + // + // CodeSigningConfigArn is a required field + CodeSigningConfigArn *string `location:"uri" locationName:"CodeSigningConfigArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCodeSigningConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCodeSigningConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCodeSigningConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCodeSigningConfigInput"} + if s.CodeSigningConfigArn == nil { + invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn")) + } + if s.CodeSigningConfigArn != nil && len(*s.CodeSigningConfigArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeSigningConfigArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value. +func (s *DeleteCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *DeleteCodeSigningConfigInput { + s.CodeSigningConfigArn = &v + return s +} + +type DeleteCodeSigningConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCodeSigningConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCodeSigningConfigOutput) GoString() string { + return s.String() +} + type DeleteEventSourceMappingInput struct { _ struct{} `type:"structure"` @@ -6604,6 +7985,72 @@ func (s *DeleteEventSourceMappingInput) SetUUID(v string) *DeleteEventSourceMapp return s } +type DeleteFunctionCodeSigningConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the Lambda function. + // + // Name formats + // + // * Function name - MyFunction. + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // + // * Partial ARN - 123456789012:function:MyFunction. + // + // The length constraint applies only to the full ARN. If you specify only the + // function name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFunctionCodeSigningConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFunctionCodeSigningConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFunctionCodeSigningConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionCodeSigningConfigInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionName sets the FunctionName field's value. +func (s *DeleteFunctionCodeSigningConfigInput) SetFunctionName(v string) *DeleteFunctionCodeSigningConfigInput { + s.FunctionName = &v + return s +} + +type DeleteFunctionCodeSigningConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFunctionCodeSigningConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFunctionCodeSigningConfigOutput) GoString() string { + return s.String() +} + type DeleteFunctionConcurrencyInput struct { _ struct{} `type:"structure"` @@ -8017,6 +9464,12 @@ type FunctionConfiguration struct { // The runtime environment for the Lambda function. Runtime *string `type:"string" enum:"Runtime"` + // The ARN of the signing job. + SigningJobArn *string `type:"string"` + + // The ARN of the signing profile version. + SigningProfileVersionArn *string `type:"string"` + // The current state of the function. When the state is Inactive, you can reactivate // the function by invoking it. State *string `type:"string" enum:"State"` @@ -8172,6 +9625,18 @@ func (s *FunctionConfiguration) SetRuntime(v string) *FunctionConfiguration { return s } +// SetSigningJobArn sets the SigningJobArn field's value. +func (s *FunctionConfiguration) SetSigningJobArn(v string) *FunctionConfiguration { + s.SigningJobArn = &v + return s +} + +// SetSigningProfileVersionArn sets the SigningProfileVersionArn field's value. +func (s *FunctionConfiguration) SetSigningProfileVersionArn(v string) *FunctionConfiguration { + s.SigningProfileVersionArn = &v + return s +} + // SetState sets the State field's value. func (s *FunctionConfiguration) SetState(v string) *FunctionConfiguration { s.State = &v @@ -8277,59 +9742,235 @@ func (s *FunctionEventInvokeConfig) SetMaximumEventAgeInSeconds(v int64) *Functi return s } -// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. -func (s *FunctionEventInvokeConfig) SetMaximumRetryAttempts(v int64) *FunctionEventInvokeConfig { - s.MaximumRetryAttempts = &v +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *FunctionEventInvokeConfig) SetMaximumRetryAttempts(v int64) *FunctionEventInvokeConfig { + s.MaximumRetryAttempts = &v + return s +} + +type GetAccountSettingsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetAccountSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAccountSettingsInput) GoString() string { + return s.String() +} + +type GetAccountSettingsOutput struct { + _ struct{} `type:"structure"` + + // Limits that are related to concurrency and code storage. + AccountLimit *AccountLimit `type:"structure"` + + // The number of functions and amount of storage in use. + AccountUsage *AccountUsage `type:"structure"` +} + +// String returns the string representation +func (s GetAccountSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAccountSettingsOutput) GoString() string { + return s.String() +} + +// SetAccountLimit sets the AccountLimit field's value. +func (s *GetAccountSettingsOutput) SetAccountLimit(v *AccountLimit) *GetAccountSettingsOutput { + s.AccountLimit = v + return s +} + +// SetAccountUsage sets the AccountUsage field's value. +func (s *GetAccountSettingsOutput) SetAccountUsage(v *AccountUsage) *GetAccountSettingsOutput { + s.AccountUsage = v + return s +} + +type GetAliasInput struct { + _ struct{} `type:"structure"` + + // The name of the Lambda function. + // + // Name formats + // + // * Function name - MyFunction. + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // + // * Partial ARN - 123456789012:function:MyFunction. + // + // The length constraint applies only to the full ARN. If you specify only the + // function name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // The name of the alias. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAliasInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionName sets the FunctionName field's value. +func (s *GetAliasInput) SetFunctionName(v string) *GetAliasInput { + s.FunctionName = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetAliasInput) SetName(v string) *GetAliasInput { + s.Name = &v + return s +} + +type GetCodeSigningConfigInput struct { + _ struct{} `type:"structure"` + + // The The Amazon Resource Name (ARN) of the code signing configuration. + // + // CodeSigningConfigArn is a required field + CodeSigningConfigArn *string `location:"uri" locationName:"CodeSigningConfigArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetCodeSigningConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCodeSigningConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCodeSigningConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCodeSigningConfigInput"} + if s.CodeSigningConfigArn == nil { + invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn")) + } + if s.CodeSigningConfigArn != nil && len(*s.CodeSigningConfigArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeSigningConfigArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value. +func (s *GetCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *GetCodeSigningConfigInput { + s.CodeSigningConfigArn = &v return s } -type GetAccountSettingsInput struct { +type GetCodeSigningConfigOutput struct { _ struct{} `type:"structure"` + + // The code signing configuration + // + // CodeSigningConfig is a required field + CodeSigningConfig *CodeSigningConfig `type:"structure" required:"true"` } // String returns the string representation -func (s GetAccountSettingsInput) String() string { +func (s GetCodeSigningConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAccountSettingsInput) GoString() string { +func (s GetCodeSigningConfigOutput) GoString() string { return s.String() } -type GetAccountSettingsOutput struct { - _ struct{} `type:"structure"` +// SetCodeSigningConfig sets the CodeSigningConfig field's value. +func (s *GetCodeSigningConfigOutput) SetCodeSigningConfig(v *CodeSigningConfig) *GetCodeSigningConfigOutput { + s.CodeSigningConfig = v + return s +} - // Limits that are related to concurrency and code storage. - AccountLimit *AccountLimit `type:"structure"` +type GetEventSourceMappingInput struct { + _ struct{} `type:"structure"` - // The number of functions and amount of storage in use. - AccountUsage *AccountUsage `type:"structure"` + // The identifier of the event source mapping. + // + // UUID is a required field + UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"` } // String returns the string representation -func (s GetAccountSettingsOutput) String() string { +func (s GetEventSourceMappingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAccountSettingsOutput) GoString() string { +func (s GetEventSourceMappingInput) GoString() string { return s.String() } -// SetAccountLimit sets the AccountLimit field's value. -func (s *GetAccountSettingsOutput) SetAccountLimit(v *AccountLimit) *GetAccountSettingsOutput { - s.AccountLimit = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEventSourceMappingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEventSourceMappingInput"} + if s.UUID == nil { + invalidParams.Add(request.NewErrParamRequired("UUID")) + } + if s.UUID != nil && len(*s.UUID) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UUID", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetAccountUsage sets the AccountUsage field's value. -func (s *GetAccountSettingsOutput) SetAccountUsage(v *AccountUsage) *GetAccountSettingsOutput { - s.AccountUsage = v +// SetUUID sets the UUID field's value. +func (s *GetEventSourceMappingInput) SetUUID(v string) *GetEventSourceMappingInput { + s.UUID = &v return s } -type GetAliasInput struct { +type GetFunctionCodeSigningConfigInput struct { _ struct{} `type:"structure"` // The name of the Lambda function. @@ -8347,38 +9988,27 @@ type GetAliasInput struct { // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - - // The name of the alias. - // - // Name is a required field - Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetAliasInput) String() string { +func (s GetFunctionCodeSigningConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAliasInput) GoString() string { +func (s GetFunctionCodeSigningConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetAliasInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetAliasInput"} +func (s *GetFunctionCodeSigningConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFunctionCodeSigningConfigInput"} if s.FunctionName == nil { invalidParams.Add(request.NewErrParamRequired("FunctionName")) } if s.FunctionName != nil && len(*s.FunctionName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -8387,55 +10017,55 @@ func (s *GetAliasInput) Validate() error { } // SetFunctionName sets the FunctionName field's value. -func (s *GetAliasInput) SetFunctionName(v string) *GetAliasInput { +func (s *GetFunctionCodeSigningConfigInput) SetFunctionName(v string) *GetFunctionCodeSigningConfigInput { s.FunctionName = &v return s } -// SetName sets the Name field's value. -func (s *GetAliasInput) SetName(v string) *GetAliasInput { - s.Name = &v - return s -} - -type GetEventSourceMappingInput struct { +type GetFunctionCodeSigningConfigOutput struct { _ struct{} `type:"structure"` - // The identifier of the event source mapping. + // The The Amazon Resource Name (ARN) of the code signing configuration. // - // UUID is a required field - UUID *string `location:"uri" locationName:"UUID" type:"string" required:"true"` + // CodeSigningConfigArn is a required field + CodeSigningConfigArn *string `type:"string" required:"true"` + + // The name of the Lambda function. + // + // Name formats + // + // * Function name - MyFunction. + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // + // * Partial ARN - 123456789012:function:MyFunction. + // + // The length constraint applies only to the full ARN. If you specify only the + // function name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetEventSourceMappingInput) String() string { +func (s GetFunctionCodeSigningConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetEventSourceMappingInput) GoString() string { +func (s GetFunctionCodeSigningConfigOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetEventSourceMappingInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetEventSourceMappingInput"} - if s.UUID == nil { - invalidParams.Add(request.NewErrParamRequired("UUID")) - } - if s.UUID != nil && len(*s.UUID) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UUID", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value. +func (s *GetFunctionCodeSigningConfigOutput) SetCodeSigningConfigArn(v string) *GetFunctionCodeSigningConfigOutput { + s.CodeSigningConfigArn = &v + return s } -// SetUUID sets the UUID field's value. -func (s *GetEventSourceMappingInput) SetUUID(v string) *GetEventSourceMappingInput { - s.UUID = &v +// SetFunctionName sets the FunctionName field's value. +func (s *GetFunctionCodeSigningConfigOutput) SetFunctionName(v string) *GetFunctionCodeSigningConfigOutput { + s.FunctionName = &v return s } @@ -9423,6 +11053,65 @@ func (s *GetProvisionedConcurrencyConfigOutput) SetStatusReason(v string) *GetPr return s } +// The code signature failed the integrity check. Lambda always blocks deployment +// if the integrity check fails, even if code signing policy is set to WARN. +type InvalidCodeSignatureException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + Type *string `type:"string"` +} + +// String returns the string representation +func (s InvalidCodeSignatureException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidCodeSignatureException) GoString() string { + return s.String() +} + +func newErrorInvalidCodeSignatureException(v protocol.ResponseMetadata) error { + return &InvalidCodeSignatureException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidCodeSignatureException) Code() string { + return "InvalidCodeSignatureException" +} + +// Message returns the exception's message. +func (s *InvalidCodeSignatureException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidCodeSignatureException) OrigErr() error { + return nil +} + +func (s *InvalidCodeSignatureException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidCodeSignatureException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidCodeSignatureException) RequestID() string { + return s.RespMetadata.RequestID +} + // One of the parameters in the request is invalid. type InvalidParameterValueException struct { _ struct{} `type:"structure"` @@ -10292,6 +11981,12 @@ type Layer struct { // The size of the layer archive in bytes. CodeSize *int64 `type:"long"` + + // The Amazon Resource Name (ARN) of a signing job. + SigningJobArn *string `type:"string"` + + // The Amazon Resource Name (ARN) for a signing profile version. + SigningProfileVersionArn *string `type:"string"` } // String returns the string representation @@ -10316,6 +12011,18 @@ func (s *Layer) SetCodeSize(v int64) *Layer { return s } +// SetSigningJobArn sets the SigningJobArn field's value. +func (s *Layer) SetSigningJobArn(v string) *Layer { + s.SigningJobArn = &v + return s +} + +// SetSigningProfileVersionArn sets the SigningProfileVersionArn field's value. +func (s *Layer) SetSigningProfileVersionArn(v string) *Layer { + s.SigningProfileVersionArn = &v + return s +} + // A ZIP archive that contains the contents of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). // You can specify either an Amazon S3 location, or upload a layer archive directly. type LayerVersionContentInput struct { @@ -10402,6 +12109,12 @@ type LayerVersionContentOutput struct { // A link to the layer archive in Amazon S3 that is valid for 10 minutes. Location *string `type:"string"` + + // The Amazon Resource Name (ARN) of a signing job. + SigningJobArn *string `type:"string"` + + // The Amazon Resource Name (ARN) for a signing profile version. + SigningProfileVersionArn *string `type:"string"` } // String returns the string representation @@ -10432,6 +12145,18 @@ func (s *LayerVersionContentOutput) SetLocation(v string) *LayerVersionContentOu return s } +// SetSigningJobArn sets the SigningJobArn field's value. +func (s *LayerVersionContentOutput) SetSigningJobArn(v string) *LayerVersionContentOutput { + s.SigningJobArn = &v + return s +} + +// SetSigningProfileVersionArn sets the SigningProfileVersionArn field's value. +func (s *LayerVersionContentOutput) SetSigningProfileVersionArn(v string) *LayerVersionContentOutput { + s.SigningProfileVersionArn = &v + return s +} + // Details about a version of an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). type LayerVersionsListItem struct { _ struct{} `type:"structure"` @@ -10605,58 +12330,136 @@ func (s *ListAliasesInput) Validate() error { return nil } -// SetFunctionName sets the FunctionName field's value. -func (s *ListAliasesInput) SetFunctionName(v string) *ListAliasesInput { - s.FunctionName = &v - return s -} - -// SetFunctionVersion sets the FunctionVersion field's value. -func (s *ListAliasesInput) SetFunctionVersion(v string) *ListAliasesInput { - s.FunctionVersion = &v - return s -} - +// SetFunctionName sets the FunctionName field's value. +func (s *ListAliasesInput) SetFunctionName(v string) *ListAliasesInput { + s.FunctionName = &v + return s +} + +// SetFunctionVersion sets the FunctionVersion field's value. +func (s *ListAliasesInput) SetFunctionVersion(v string) *ListAliasesInput { + s.FunctionVersion = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *ListAliasesInput) SetMarker(v string) *ListAliasesInput { + s.Marker = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListAliasesInput) SetMaxItems(v int64) *ListAliasesInput { + s.MaxItems = &v + return s +} + +type ListAliasesOutput struct { + _ struct{} `type:"structure"` + + // A list of aliases. + Aliases []*AliasConfiguration `type:"list"` + + // The pagination token that's included if more results are available. + NextMarker *string `type:"string"` +} + +// String returns the string representation +func (s ListAliasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAliasesOutput) GoString() string { + return s.String() +} + +// SetAliases sets the Aliases field's value. +func (s *ListAliasesOutput) SetAliases(v []*AliasConfiguration) *ListAliasesOutput { + s.Aliases = v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *ListAliasesOutput) SetNextMarker(v string) *ListAliasesOutput { + s.NextMarker = &v + return s +} + +type ListCodeSigningConfigsInput struct { + _ struct{} `type:"structure"` + + // Specify the pagination token that's returned by a previous request to retrieve + // the next page of results. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // Maximum number of items to return. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` +} + +// String returns the string representation +func (s ListCodeSigningConfigsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCodeSigningConfigsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCodeSigningConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCodeSigningConfigsInput"} + if s.MaxItems != nil && *s.MaxItems < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetMarker sets the Marker field's value. -func (s *ListAliasesInput) SetMarker(v string) *ListAliasesInput { +func (s *ListCodeSigningConfigsInput) SetMarker(v string) *ListCodeSigningConfigsInput { s.Marker = &v return s } // SetMaxItems sets the MaxItems field's value. -func (s *ListAliasesInput) SetMaxItems(v int64) *ListAliasesInput { +func (s *ListCodeSigningConfigsInput) SetMaxItems(v int64) *ListCodeSigningConfigsInput { s.MaxItems = &v return s } -type ListAliasesOutput struct { +type ListCodeSigningConfigsOutput struct { _ struct{} `type:"structure"` - // A list of aliases. - Aliases []*AliasConfiguration `type:"list"` + // The code signing configurations + CodeSigningConfigs []*CodeSigningConfig `type:"list"` // The pagination token that's included if more results are available. NextMarker *string `type:"string"` } // String returns the string representation -func (s ListAliasesOutput) String() string { +func (s ListCodeSigningConfigsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListAliasesOutput) GoString() string { +func (s ListCodeSigningConfigsOutput) GoString() string { return s.String() } -// SetAliases sets the Aliases field's value. -func (s *ListAliasesOutput) SetAliases(v []*AliasConfiguration) *ListAliasesOutput { - s.Aliases = v +// SetCodeSigningConfigs sets the CodeSigningConfigs field's value. +func (s *ListCodeSigningConfigsOutput) SetCodeSigningConfigs(v []*CodeSigningConfig) *ListCodeSigningConfigsOutput { + s.CodeSigningConfigs = v return s } // SetNextMarker sets the NextMarker field's value. -func (s *ListAliasesOutput) SetNextMarker(v string) *ListAliasesOutput { +func (s *ListCodeSigningConfigsOutput) SetNextMarker(v string) *ListCodeSigningConfigsOutput { s.NextMarker = &v return s } @@ -10887,6 +12690,101 @@ func (s *ListFunctionEventInvokeConfigsOutput) SetNextMarker(v string) *ListFunc return s } +type ListFunctionsByCodeSigningConfigInput struct { + _ struct{} `type:"structure"` + + // The The Amazon Resource Name (ARN) of the code signing configuration. + // + // CodeSigningConfigArn is a required field + CodeSigningConfigArn *string `location:"uri" locationName:"CodeSigningConfigArn" type:"string" required:"true"` + + // Specify the pagination token that's returned by a previous request to retrieve + // the next page of results. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // Maximum number of items to return. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` +} + +// String returns the string representation +func (s ListFunctionsByCodeSigningConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFunctionsByCodeSigningConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFunctionsByCodeSigningConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFunctionsByCodeSigningConfigInput"} + if s.CodeSigningConfigArn == nil { + invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn")) + } + if s.CodeSigningConfigArn != nil && len(*s.CodeSigningConfigArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeSigningConfigArn", 1)) + } + if s.MaxItems != nil && *s.MaxItems < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value. +func (s *ListFunctionsByCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *ListFunctionsByCodeSigningConfigInput { + s.CodeSigningConfigArn = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *ListFunctionsByCodeSigningConfigInput) SetMarker(v string) *ListFunctionsByCodeSigningConfigInput { + s.Marker = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListFunctionsByCodeSigningConfigInput) SetMaxItems(v int64) *ListFunctionsByCodeSigningConfigInput { + s.MaxItems = &v + return s +} + +type ListFunctionsByCodeSigningConfigOutput struct { + _ struct{} `type:"structure"` + + // The function ARNs. + FunctionArns []*string `type:"list"` + + // The pagination token that's included if more results are available. + NextMarker *string `type:"string"` +} + +// String returns the string representation +func (s ListFunctionsByCodeSigningConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFunctionsByCodeSigningConfigOutput) GoString() string { + return s.String() +} + +// SetFunctionArns sets the FunctionArns field's value. +func (s *ListFunctionsByCodeSigningConfigOutput) SetFunctionArns(v []*string) *ListFunctionsByCodeSigningConfigOutput { + s.FunctionArns = v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *ListFunctionsByCodeSigningConfigOutput) SetNextMarker(v string) *ListFunctionsByCodeSigningConfigOutput { + s.NextMarker = &v + return s +} + type ListFunctionsInput struct { _ struct{} `type:"structure"` @@ -12026,6 +13924,119 @@ func (s *PublishVersionInput) SetRevisionId(v string) *PublishVersionInput { return s } +type PutFunctionCodeSigningConfigInput struct { + _ struct{} `type:"structure"` + + // The The Amazon Resource Name (ARN) of the code signing configuration. + // + // CodeSigningConfigArn is a required field + CodeSigningConfigArn *string `type:"string" required:"true"` + + // The name of the Lambda function. + // + // Name formats + // + // * Function name - MyFunction. + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // + // * Partial ARN - 123456789012:function:MyFunction. + // + // The length constraint applies only to the full ARN. If you specify only the + // function name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutFunctionCodeSigningConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutFunctionCodeSigningConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutFunctionCodeSigningConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutFunctionCodeSigningConfigInput"} + if s.CodeSigningConfigArn == nil { + invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn")) + } + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value. +func (s *PutFunctionCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *PutFunctionCodeSigningConfigInput { + s.CodeSigningConfigArn = &v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *PutFunctionCodeSigningConfigInput) SetFunctionName(v string) *PutFunctionCodeSigningConfigInput { + s.FunctionName = &v + return s +} + +type PutFunctionCodeSigningConfigOutput struct { + _ struct{} `type:"structure"` + + // The The Amazon Resource Name (ARN) of the code signing configuration. + // + // CodeSigningConfigArn is a required field + CodeSigningConfigArn *string `type:"string" required:"true"` + + // The name of the Lambda function. + // + // Name formats + // + // * Function name - MyFunction. + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + // + // * Partial ARN - 123456789012:function:MyFunction. + // + // The length constraint applies only to the full ARN. If you specify only the + // function name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutFunctionCodeSigningConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutFunctionCodeSigningConfigOutput) GoString() string { + return s.String() +} + +// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value. +func (s *PutFunctionCodeSigningConfigOutput) SetCodeSigningConfigArn(v string) *PutFunctionCodeSigningConfigOutput { + s.CodeSigningConfigArn = &v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *PutFunctionCodeSigningConfigOutput) SetFunctionName(v string) *PutFunctionCodeSigningConfigOutput { + s.FunctionName = &v + return s +} + type PutFunctionConcurrencyInput struct { _ struct{} `type:"structure"` @@ -13529,6 +15540,104 @@ func (s *UpdateAliasInput) SetRoutingConfig(v *AliasRoutingConfiguration) *Updat return s } +type UpdateCodeSigningConfigInput struct { + _ struct{} `type:"structure"` + + // Signing profiles for this code signing configuration. + AllowedPublishers *AllowedPublishers `type:"structure"` + + // The The Amazon Resource Name (ARN) of the code signing configuration. + // + // CodeSigningConfigArn is a required field + CodeSigningConfigArn *string `location:"uri" locationName:"CodeSigningConfigArn" type:"string" required:"true"` + + // The code signing policy. + CodeSigningPolicies *CodeSigningPolicies `type:"structure"` + + // Descriptive name for this code signing configuration. + Description *string `type:"string"` +} + +// String returns the string representation +func (s UpdateCodeSigningConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCodeSigningConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCodeSigningConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCodeSigningConfigInput"} + if s.CodeSigningConfigArn == nil { + invalidParams.Add(request.NewErrParamRequired("CodeSigningConfigArn")) + } + if s.CodeSigningConfigArn != nil && len(*s.CodeSigningConfigArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeSigningConfigArn", 1)) + } + if s.AllowedPublishers != nil { + if err := s.AllowedPublishers.Validate(); err != nil { + invalidParams.AddNested("AllowedPublishers", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedPublishers sets the AllowedPublishers field's value. +func (s *UpdateCodeSigningConfigInput) SetAllowedPublishers(v *AllowedPublishers) *UpdateCodeSigningConfigInput { + s.AllowedPublishers = v + return s +} + +// SetCodeSigningConfigArn sets the CodeSigningConfigArn field's value. +func (s *UpdateCodeSigningConfigInput) SetCodeSigningConfigArn(v string) *UpdateCodeSigningConfigInput { + s.CodeSigningConfigArn = &v + return s +} + +// SetCodeSigningPolicies sets the CodeSigningPolicies field's value. +func (s *UpdateCodeSigningConfigInput) SetCodeSigningPolicies(v *CodeSigningPolicies) *UpdateCodeSigningConfigInput { + s.CodeSigningPolicies = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateCodeSigningConfigInput) SetDescription(v string) *UpdateCodeSigningConfigInput { + s.Description = &v + return s +} + +type UpdateCodeSigningConfigOutput struct { + _ struct{} `type:"structure"` + + // The code signing configuration + // + // CodeSigningConfig is a required field + CodeSigningConfig *CodeSigningConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateCodeSigningConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCodeSigningConfigOutput) GoString() string { + return s.String() +} + +// SetCodeSigningConfig sets the CodeSigningConfig field's value. +func (s *UpdateCodeSigningConfigOutput) SetCodeSigningConfig(v *CodeSigningConfig) *UpdateCodeSigningConfigOutput { + s.CodeSigningConfig = v + return s +} + type UpdateEventSourceMappingInput struct { _ struct{} `type:"structure"` @@ -14308,6 +16417,22 @@ func (s *VpcConfigResponse) SetVpcId(v string) *VpcConfigResponse { return s } +const ( + // CodeSigningPolicyWarn is a CodeSigningPolicy enum value + CodeSigningPolicyWarn = "Warn" + + // CodeSigningPolicyEnforce is a CodeSigningPolicy enum value + CodeSigningPolicyEnforce = "Enforce" +) + +// CodeSigningPolicy_Values returns all elements of the CodeSigningPolicy enum +func CodeSigningPolicy_Values() []string { + return []string{ + CodeSigningPolicyWarn, + CodeSigningPolicyEnforce, + } +} + const ( // EventSourcePositionTrimHorizon is a EventSourcePosition enum value EventSourcePositionTrimHorizon = "TRIM_HORIZON" diff --git a/service/lambda/errors.go b/service/lambda/errors.go index 4cee20127e..c11d8ccd0b 100644 --- a/service/lambda/errors.go +++ b/service/lambda/errors.go @@ -8,12 +8,26 @@ import ( const ( + // ErrCodeCodeSigningConfigNotFoundException for service response error code + // "CodeSigningConfigNotFoundException". + // + // The specified code signing configuration does not exist. + ErrCodeCodeSigningConfigNotFoundException = "CodeSigningConfigNotFoundException" + // ErrCodeCodeStorageExceededException for service response error code // "CodeStorageExceededException". // // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) ErrCodeCodeStorageExceededException = "CodeStorageExceededException" + // ErrCodeCodeVerificationFailedException for service response error code + // "CodeVerificationFailedException". + // + // The code signature failed one or more of the validation checks for signature + // mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda + // blocks the deployment. + ErrCodeCodeVerificationFailedException = "CodeVerificationFailedException" + // ErrCodeEC2AccessDeniedException for service response error code // "EC2AccessDeniedException". // @@ -68,6 +82,13 @@ const ( // network interfaces has been reached. ErrCodeENILimitReachedException = "ENILimitReachedException" + // ErrCodeInvalidCodeSignatureException for service response error code + // "InvalidCodeSignatureException". + // + // The code signature failed the integrity check. Lambda always blocks deployment + // if the integrity check fails, even if code signing policy is set to WARN. + ErrCodeInvalidCodeSignatureException = "InvalidCodeSignatureException" + // ErrCodeInvalidParameterValueException for service response error code // "InvalidParameterValueException". // @@ -214,7 +235,9 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "CodeSigningConfigNotFoundException": newErrorCodeSigningConfigNotFoundException, "CodeStorageExceededException": newErrorCodeStorageExceededException, + "CodeVerificationFailedException": newErrorCodeVerificationFailedException, "EC2AccessDeniedException": newErrorEC2AccessDeniedException, "EC2ThrottledException": newErrorEC2ThrottledException, "EC2UnexpectedException": newErrorEC2UnexpectedException, @@ -223,6 +246,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "EFSMountFailureException": newErrorEFSMountFailureException, "EFSMountTimeoutException": newErrorEFSMountTimeoutException, "ENILimitReachedException": newErrorENILimitReachedException, + "InvalidCodeSignatureException": newErrorInvalidCodeSignatureException, "InvalidParameterValueException": newErrorInvalidParameterValueException, "InvalidRequestContentException": newErrorInvalidRequestContentException, "InvalidRuntimeException": newErrorInvalidRuntimeException, diff --git a/service/lambda/examples_test.go b/service/lambda/examples_test.go index b4bc90dfcb..7d6d23adde 100644 --- a/service/lambda/examples_test.go +++ b/service/lambda/examples_test.go @@ -295,6 +295,12 @@ func ExampleLambda_CreateFunction_shared00() { fmt.Println(lambda.ErrCodeTooManyRequestsException, aerr.Error()) case lambda.ErrCodeCodeStorageExceededException: fmt.Println(lambda.ErrCodeCodeStorageExceededException, aerr.Error()) + case lambda.ErrCodeCodeVerificationFailedException: + fmt.Println(lambda.ErrCodeCodeVerificationFailedException, aerr.Error()) + case lambda.ErrCodeInvalidCodeSignatureException: + fmt.Println(lambda.ErrCodeInvalidCodeSignatureException, aerr.Error()) + case lambda.ErrCodeCodeSigningConfigNotFoundException: + fmt.Println(lambda.ErrCodeCodeSigningConfigNotFoundException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -2009,6 +2015,12 @@ func ExampleLambda_UpdateFunctionCode_shared00() { fmt.Println(lambda.ErrCodePreconditionFailedException, aerr.Error()) case lambda.ErrCodeResourceConflictException: fmt.Println(lambda.ErrCodeResourceConflictException, aerr.Error()) + case lambda.ErrCodeCodeVerificationFailedException: + fmt.Println(lambda.ErrCodeCodeVerificationFailedException, aerr.Error()) + case lambda.ErrCodeInvalidCodeSignatureException: + fmt.Println(lambda.ErrCodeInvalidCodeSignatureException, aerr.Error()) + case lambda.ErrCodeCodeSigningConfigNotFoundException: + fmt.Println(lambda.ErrCodeCodeSigningConfigNotFoundException, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -2050,6 +2062,12 @@ func ExampleLambda_UpdateFunctionConfiguration_shared00() { fmt.Println(lambda.ErrCodeResourceConflictException, aerr.Error()) case lambda.ErrCodePreconditionFailedException: fmt.Println(lambda.ErrCodePreconditionFailedException, aerr.Error()) + case lambda.ErrCodeCodeVerificationFailedException: + fmt.Println(lambda.ErrCodeCodeVerificationFailedException, aerr.Error()) + case lambda.ErrCodeInvalidCodeSignatureException: + fmt.Println(lambda.ErrCodeInvalidCodeSignatureException, aerr.Error()) + case lambda.ErrCodeCodeSigningConfigNotFoundException: + fmt.Println(lambda.ErrCodeCodeSigningConfigNotFoundException, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/lambda/lambdaiface/interface.go b/service/lambda/lambdaiface/interface.go index 4954c9becd..2271210d63 100644 --- a/service/lambda/lambdaiface/interface.go +++ b/service/lambda/lambdaiface/interface.go @@ -72,6 +72,10 @@ type LambdaAPI interface { CreateAliasWithContext(aws.Context, *lambda.CreateAliasInput, ...request.Option) (*lambda.AliasConfiguration, error) CreateAliasRequest(*lambda.CreateAliasInput) (*request.Request, *lambda.AliasConfiguration) + CreateCodeSigningConfig(*lambda.CreateCodeSigningConfigInput) (*lambda.CreateCodeSigningConfigOutput, error) + CreateCodeSigningConfigWithContext(aws.Context, *lambda.CreateCodeSigningConfigInput, ...request.Option) (*lambda.CreateCodeSigningConfigOutput, error) + CreateCodeSigningConfigRequest(*lambda.CreateCodeSigningConfigInput) (*request.Request, *lambda.CreateCodeSigningConfigOutput) + CreateEventSourceMapping(*lambda.CreateEventSourceMappingInput) (*lambda.EventSourceMappingConfiguration, error) CreateEventSourceMappingWithContext(aws.Context, *lambda.CreateEventSourceMappingInput, ...request.Option) (*lambda.EventSourceMappingConfiguration, error) CreateEventSourceMappingRequest(*lambda.CreateEventSourceMappingInput) (*request.Request, *lambda.EventSourceMappingConfiguration) @@ -84,6 +88,10 @@ type LambdaAPI interface { DeleteAliasWithContext(aws.Context, *lambda.DeleteAliasInput, ...request.Option) (*lambda.DeleteAliasOutput, error) DeleteAliasRequest(*lambda.DeleteAliasInput) (*request.Request, *lambda.DeleteAliasOutput) + DeleteCodeSigningConfig(*lambda.DeleteCodeSigningConfigInput) (*lambda.DeleteCodeSigningConfigOutput, error) + DeleteCodeSigningConfigWithContext(aws.Context, *lambda.DeleteCodeSigningConfigInput, ...request.Option) (*lambda.DeleteCodeSigningConfigOutput, error) + DeleteCodeSigningConfigRequest(*lambda.DeleteCodeSigningConfigInput) (*request.Request, *lambda.DeleteCodeSigningConfigOutput) + DeleteEventSourceMapping(*lambda.DeleteEventSourceMappingInput) (*lambda.EventSourceMappingConfiguration, error) DeleteEventSourceMappingWithContext(aws.Context, *lambda.DeleteEventSourceMappingInput, ...request.Option) (*lambda.EventSourceMappingConfiguration, error) DeleteEventSourceMappingRequest(*lambda.DeleteEventSourceMappingInput) (*request.Request, *lambda.EventSourceMappingConfiguration) @@ -92,6 +100,10 @@ type LambdaAPI interface { DeleteFunctionWithContext(aws.Context, *lambda.DeleteFunctionInput, ...request.Option) (*lambda.DeleteFunctionOutput, error) DeleteFunctionRequest(*lambda.DeleteFunctionInput) (*request.Request, *lambda.DeleteFunctionOutput) + DeleteFunctionCodeSigningConfig(*lambda.DeleteFunctionCodeSigningConfigInput) (*lambda.DeleteFunctionCodeSigningConfigOutput, error) + DeleteFunctionCodeSigningConfigWithContext(aws.Context, *lambda.DeleteFunctionCodeSigningConfigInput, ...request.Option) (*lambda.DeleteFunctionCodeSigningConfigOutput, error) + DeleteFunctionCodeSigningConfigRequest(*lambda.DeleteFunctionCodeSigningConfigInput) (*request.Request, *lambda.DeleteFunctionCodeSigningConfigOutput) + DeleteFunctionConcurrency(*lambda.DeleteFunctionConcurrencyInput) (*lambda.DeleteFunctionConcurrencyOutput, error) DeleteFunctionConcurrencyWithContext(aws.Context, *lambda.DeleteFunctionConcurrencyInput, ...request.Option) (*lambda.DeleteFunctionConcurrencyOutput, error) DeleteFunctionConcurrencyRequest(*lambda.DeleteFunctionConcurrencyInput) (*request.Request, *lambda.DeleteFunctionConcurrencyOutput) @@ -116,6 +128,10 @@ type LambdaAPI interface { GetAliasWithContext(aws.Context, *lambda.GetAliasInput, ...request.Option) (*lambda.AliasConfiguration, error) GetAliasRequest(*lambda.GetAliasInput) (*request.Request, *lambda.AliasConfiguration) + GetCodeSigningConfig(*lambda.GetCodeSigningConfigInput) (*lambda.GetCodeSigningConfigOutput, error) + GetCodeSigningConfigWithContext(aws.Context, *lambda.GetCodeSigningConfigInput, ...request.Option) (*lambda.GetCodeSigningConfigOutput, error) + GetCodeSigningConfigRequest(*lambda.GetCodeSigningConfigInput) (*request.Request, *lambda.GetCodeSigningConfigOutput) + GetEventSourceMapping(*lambda.GetEventSourceMappingInput) (*lambda.EventSourceMappingConfiguration, error) GetEventSourceMappingWithContext(aws.Context, *lambda.GetEventSourceMappingInput, ...request.Option) (*lambda.EventSourceMappingConfiguration, error) GetEventSourceMappingRequest(*lambda.GetEventSourceMappingInput) (*request.Request, *lambda.EventSourceMappingConfiguration) @@ -124,6 +140,10 @@ type LambdaAPI interface { GetFunctionWithContext(aws.Context, *lambda.GetFunctionInput, ...request.Option) (*lambda.GetFunctionOutput, error) GetFunctionRequest(*lambda.GetFunctionInput) (*request.Request, *lambda.GetFunctionOutput) + GetFunctionCodeSigningConfig(*lambda.GetFunctionCodeSigningConfigInput) (*lambda.GetFunctionCodeSigningConfigOutput, error) + GetFunctionCodeSigningConfigWithContext(aws.Context, *lambda.GetFunctionCodeSigningConfigInput, ...request.Option) (*lambda.GetFunctionCodeSigningConfigOutput, error) + GetFunctionCodeSigningConfigRequest(*lambda.GetFunctionCodeSigningConfigInput) (*request.Request, *lambda.GetFunctionCodeSigningConfigOutput) + GetFunctionConcurrency(*lambda.GetFunctionConcurrencyInput) (*lambda.GetFunctionConcurrencyOutput, error) GetFunctionConcurrencyWithContext(aws.Context, *lambda.GetFunctionConcurrencyInput, ...request.Option) (*lambda.GetFunctionConcurrencyOutput, error) GetFunctionConcurrencyRequest(*lambda.GetFunctionConcurrencyInput) (*request.Request, *lambda.GetFunctionConcurrencyOutput) @@ -171,6 +191,13 @@ type LambdaAPI interface { ListAliasesPages(*lambda.ListAliasesInput, func(*lambda.ListAliasesOutput, bool) bool) error ListAliasesPagesWithContext(aws.Context, *lambda.ListAliasesInput, func(*lambda.ListAliasesOutput, bool) bool, ...request.Option) error + ListCodeSigningConfigs(*lambda.ListCodeSigningConfigsInput) (*lambda.ListCodeSigningConfigsOutput, error) + ListCodeSigningConfigsWithContext(aws.Context, *lambda.ListCodeSigningConfigsInput, ...request.Option) (*lambda.ListCodeSigningConfigsOutput, error) + ListCodeSigningConfigsRequest(*lambda.ListCodeSigningConfigsInput) (*request.Request, *lambda.ListCodeSigningConfigsOutput) + + ListCodeSigningConfigsPages(*lambda.ListCodeSigningConfigsInput, func(*lambda.ListCodeSigningConfigsOutput, bool) bool) error + ListCodeSigningConfigsPagesWithContext(aws.Context, *lambda.ListCodeSigningConfigsInput, func(*lambda.ListCodeSigningConfigsOutput, bool) bool, ...request.Option) error + ListEventSourceMappings(*lambda.ListEventSourceMappingsInput) (*lambda.ListEventSourceMappingsOutput, error) ListEventSourceMappingsWithContext(aws.Context, *lambda.ListEventSourceMappingsInput, ...request.Option) (*lambda.ListEventSourceMappingsOutput, error) ListEventSourceMappingsRequest(*lambda.ListEventSourceMappingsInput) (*request.Request, *lambda.ListEventSourceMappingsOutput) @@ -192,6 +219,13 @@ type LambdaAPI interface { ListFunctionsPages(*lambda.ListFunctionsInput, func(*lambda.ListFunctionsOutput, bool) bool) error ListFunctionsPagesWithContext(aws.Context, *lambda.ListFunctionsInput, func(*lambda.ListFunctionsOutput, bool) bool, ...request.Option) error + ListFunctionsByCodeSigningConfig(*lambda.ListFunctionsByCodeSigningConfigInput) (*lambda.ListFunctionsByCodeSigningConfigOutput, error) + ListFunctionsByCodeSigningConfigWithContext(aws.Context, *lambda.ListFunctionsByCodeSigningConfigInput, ...request.Option) (*lambda.ListFunctionsByCodeSigningConfigOutput, error) + ListFunctionsByCodeSigningConfigRequest(*lambda.ListFunctionsByCodeSigningConfigInput) (*request.Request, *lambda.ListFunctionsByCodeSigningConfigOutput) + + ListFunctionsByCodeSigningConfigPages(*lambda.ListFunctionsByCodeSigningConfigInput, func(*lambda.ListFunctionsByCodeSigningConfigOutput, bool) bool) error + ListFunctionsByCodeSigningConfigPagesWithContext(aws.Context, *lambda.ListFunctionsByCodeSigningConfigInput, func(*lambda.ListFunctionsByCodeSigningConfigOutput, bool) bool, ...request.Option) error + ListLayerVersions(*lambda.ListLayerVersionsInput) (*lambda.ListLayerVersionsOutput, error) ListLayerVersionsWithContext(aws.Context, *lambda.ListLayerVersionsInput, ...request.Option) (*lambda.ListLayerVersionsOutput, error) ListLayerVersionsRequest(*lambda.ListLayerVersionsInput) (*request.Request, *lambda.ListLayerVersionsOutput) @@ -232,6 +266,10 @@ type LambdaAPI interface { PublishVersionWithContext(aws.Context, *lambda.PublishVersionInput, ...request.Option) (*lambda.FunctionConfiguration, error) PublishVersionRequest(*lambda.PublishVersionInput) (*request.Request, *lambda.FunctionConfiguration) + PutFunctionCodeSigningConfig(*lambda.PutFunctionCodeSigningConfigInput) (*lambda.PutFunctionCodeSigningConfigOutput, error) + PutFunctionCodeSigningConfigWithContext(aws.Context, *lambda.PutFunctionCodeSigningConfigInput, ...request.Option) (*lambda.PutFunctionCodeSigningConfigOutput, error) + PutFunctionCodeSigningConfigRequest(*lambda.PutFunctionCodeSigningConfigInput) (*request.Request, *lambda.PutFunctionCodeSigningConfigOutput) + PutFunctionConcurrency(*lambda.PutFunctionConcurrencyInput) (*lambda.PutFunctionConcurrencyOutput, error) PutFunctionConcurrencyWithContext(aws.Context, *lambda.PutFunctionConcurrencyInput, ...request.Option) (*lambda.PutFunctionConcurrencyOutput, error) PutFunctionConcurrencyRequest(*lambda.PutFunctionConcurrencyInput) (*request.Request, *lambda.PutFunctionConcurrencyOutput) @@ -264,6 +302,10 @@ type LambdaAPI interface { UpdateAliasWithContext(aws.Context, *lambda.UpdateAliasInput, ...request.Option) (*lambda.AliasConfiguration, error) UpdateAliasRequest(*lambda.UpdateAliasInput) (*request.Request, *lambda.AliasConfiguration) + UpdateCodeSigningConfig(*lambda.UpdateCodeSigningConfigInput) (*lambda.UpdateCodeSigningConfigOutput, error) + UpdateCodeSigningConfigWithContext(aws.Context, *lambda.UpdateCodeSigningConfigInput, ...request.Option) (*lambda.UpdateCodeSigningConfigOutput, error) + UpdateCodeSigningConfigRequest(*lambda.UpdateCodeSigningConfigInput) (*request.Request, *lambda.UpdateCodeSigningConfigOutput) + UpdateEventSourceMapping(*lambda.UpdateEventSourceMappingInput) (*lambda.EventSourceMappingConfiguration, error) UpdateEventSourceMappingWithContext(aws.Context, *lambda.UpdateEventSourceMappingInput, ...request.Option) (*lambda.EventSourceMappingConfiguration, error) UpdateEventSourceMappingRequest(*lambda.UpdateEventSourceMappingInput) (*request.Request, *lambda.EventSourceMappingConfiguration) diff --git a/service/licensemanager/api.go b/service/licensemanager/api.go index 97c9641d40..c8838b6aa8 100644 --- a/service/licensemanager/api.go +++ b/service/licensemanager/api.go @@ -2671,6 +2671,9 @@ func (s *LicenseConfiguration) SetStatus(v string) *LicenseConfiguration { type LicenseConfigurationAssociation struct { _ struct{} `type:"structure"` + // Scope of AMI associations. + AmiAssociationScope *string `type:"string"` + // Time when the license configuration was associated with the resource. AssociationTime *time.Time `type:"timestamp"` @@ -2694,6 +2697,12 @@ func (s LicenseConfigurationAssociation) GoString() string { return s.String() } +// SetAmiAssociationScope sets the AmiAssociationScope field's value. +func (s *LicenseConfigurationAssociation) SetAmiAssociationScope(v string) *LicenseConfigurationAssociation { + s.AmiAssociationScope = &v + return s +} + // SetAssociationTime sets the AssociationTime field's value. func (s *LicenseConfigurationAssociation) SetAssociationTime(v time.Time) *LicenseConfigurationAssociation { s.AssociationTime = &v @@ -2878,6 +2887,9 @@ func (s *LicenseOperationFailure) SetResourceType(v string) *LicenseOperationFai type LicenseSpecification struct { _ struct{} `type:"structure"` + // Scope of AMI associations. + AmiAssociationScope *string `type:"string"` + // Amazon Resource Name (ARN) of the license configuration. // // LicenseConfigurationArn is a required field @@ -2907,6 +2919,12 @@ func (s *LicenseSpecification) Validate() error { return nil } +// SetAmiAssociationScope sets the AmiAssociationScope field's value. +func (s *LicenseSpecification) SetAmiAssociationScope(v string) *LicenseSpecification { + s.AmiAssociationScope = &v + return s +} + // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. func (s *LicenseSpecification) SetLicenseConfigurationArn(v string) *LicenseSpecification { s.LicenseConfigurationArn = &v diff --git a/service/outposts/api.go b/service/outposts/api.go index 9ea6e6d93d..91f3d4251e 100644 --- a/service/outposts/api.go +++ b/service/outposts/api.go @@ -824,6 +824,9 @@ type CreateOutpostInput struct { // // SiteId is a required field SiteId *string `min:"1" type:"string" required:"true"` + + // The tags to apply to the Outpost. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation @@ -860,6 +863,9 @@ func (s *CreateOutpostInput) Validate() error { if s.SiteId != nil && len(*s.SiteId) < 1 { invalidParams.Add(request.NewErrParamMinLen("SiteId", 1)) } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -897,6 +903,12 @@ func (s *CreateOutpostInput) SetSiteId(v string) *CreateOutpostInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateOutpostInput) SetTags(v map[string]*string) *CreateOutpostInput { + s.Tags = v + return s +} + type CreateOutpostOutput struct { _ struct{} `type:"structure"` @@ -1539,6 +1551,9 @@ type Outpost struct { // The ID of the site. SiteId *string `min:"1" type:"string"` + + // The Outpost tags. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation @@ -1605,6 +1620,12 @@ func (s *Outpost) SetSiteId(v string) *Outpost { return s } +// SetTags sets the Tags field's value. +func (s *Outpost) SetTags(v map[string]*string) *Outpost { + s.Tags = v + return s +} + // You have exceeded a service quota. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` @@ -1676,6 +1697,9 @@ type Site struct { // The ID of the site. SiteId *string `min:"1" type:"string"` + + // The site tags. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation @@ -1712,6 +1736,12 @@ func (s *Site) SetSiteId(v string) *Site { return s } +// SetTags sets the Tags field's value. +func (s *Site) SetTags(v map[string]*string) *Site { + s.Tags = v + return s +} + // A parameter is not valid. type ValidationException struct { _ struct{} `type:"structure"` diff --git a/service/securityhub/api.go b/service/securityhub/api.go index 59d5d8f34f..6d2156ef56 100644 --- a/service/securityhub/api.go +++ b/service/securityhub/api.go @@ -61,6 +61,9 @@ func (c *SecurityHub) AcceptInvitationRequest(input *AcceptInvitationInput) (req // Accepts the invitation to be a member account and be monitored by the Security // Hub master account that the invitation was sent from. // +// This operation is only used by member accounts that are not added through +// Organizations. +// // When the member account accepts the invitation, permission is granted to // the master account to view findings generated in the member account. // @@ -81,13 +84,16 @@ func (c *SecurityHub) AcceptInvitationRequest(input *AcceptInvitationInput) (req // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptInvitation func (c *SecurityHub) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) { @@ -176,11 +182,14 @@ func (c *SecurityHub) BatchDisableStandardsRequest(input *BatchDisableStandardsI // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards func (c *SecurityHub) BatchDisableStandards(input *BatchDisableStandardsInput) (*BatchDisableStandardsOutput, error) { @@ -270,11 +279,14 @@ func (c *SecurityHub) BatchEnableStandardsRequest(input *BatchEnableStandardsInp // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards func (c *SecurityHub) BatchEnableStandards(input *BatchEnableStandardsInput) (*BatchEnableStandardsOutput, error) { @@ -388,10 +400,13 @@ func (c *SecurityHub) BatchImportFindingsRequest(input *BatchImportFindingsInput // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings func (c *SecurityHub) BatchImportFindings(input *BatchImportFindingsInput) (*BatchImportFindingsOutput, error) { @@ -511,10 +526,13 @@ func (c *SecurityHub) BatchUpdateFindingsRequest(input *BatchUpdateFindingsInput // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings func (c *SecurityHub) BatchUpdateFindings(input *BatchUpdateFindingsInput) (*BatchUpdateFindingsOutput, error) { @@ -603,11 +621,14 @@ func (c *SecurityHub) CreateActionTargetRequest(input *CreateActionTargetInput) // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceConflictException // The resource specified in the request conflicts with an existing resource. @@ -700,10 +721,13 @@ func (c *SecurityHub) CreateInsightRequest(input *CreateInsightInput) (req *requ // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceConflictException // The resource specified in the request conflicts with an existing resource. @@ -775,20 +799,35 @@ func (c *SecurityHub) CreateMembersRequest(input *CreateMembersInput) (req *requ // CreateMembers API operation for AWS SecurityHub. // // Creates a member association in Security Hub between the specified accounts -// and the account used to make the request, which is the master account. To -// successfully create a member, you must use this action from an account that -// already has Security Hub enabled. To enable Security Hub, you can use the -// EnableSecurityHub operation. +// and the account used to make the request, which is the master account. If +// you are integrated with Organizations, then the master account is the Security +// Hub administrator account that is designated by the organization management +// account. +// +// CreateMembers is always used to add accounts that are not organization members. +// +// For accounts that are part of an organization, CreateMembers is only used +// in the following cases: +// +// * Security Hub is not configured to automatically add new accounts in +// an organization. +// +// * The account was disassociated or deleted in Security Hub. +// +// This action can only be used by an account that has Security Hub enabled. +// To enable Security Hub, you can use the EnableSecurityHub operation. // -// After you use CreateMembers to create member account associations in Security -// Hub, you must use the InviteMembers operation to invite the accounts to enable -// Security Hub and become member accounts in Security Hub. +// For accounts that are not organization members, you create the account association +// and then send an invitation to the member account. To send the invitation, +// you use the InviteMembers operation. If the account owner accepts the invitation, +// the account becomes a member account in Security Hub. // -// If the account owner accepts the invitation, the account becomes a member -// account in Security Hub. A permissions policy is added that permits the master -// account to view the findings generated in the member account. When Security -// Hub is enabled in the invited account, findings start to be sent to both -// the member and master accounts. +// Accounts that are part of an organization do not receive an invitation. They +// automatically become a member account in Security Hub. +// +// A permissions policy is added that permits the master account to view the +// findings generated in the member account. When Security Hub is enabled in +// a member account, findings are sent to both the member and master accounts. // // To remove the association between the master and member accounts, use the // DisassociateFromMasterAccount or DisassociateMembers operation. @@ -810,10 +849,13 @@ func (c *SecurityHub) CreateMembersRequest(input *CreateMembersInput) (req *requ // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceConflictException // The resource specified in the request conflicts with an existing resource. @@ -886,6 +928,9 @@ func (c *SecurityHub) DeclineInvitationsRequest(input *DeclineInvitationsInput) // // Declines invitations to become a member account. // +// This operation is only used by accounts that are not part of an organization. +// Organization accounts do not receive invitations. +// // 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. @@ -902,7 +947,9 @@ func (c *SecurityHub) DeclineInvitationsRequest(input *DeclineInvitationsInput) // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -994,7 +1041,9 @@ func (c *SecurityHub) DeleteActionTargetRequest(input *DeleteActionTargetInput) // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -1083,11 +1132,14 @@ func (c *SecurityHub) DeleteInsightRequest(input *DeleteInsightInput) (req *requ // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -1160,6 +1212,9 @@ func (c *SecurityHub) DeleteInvitationsRequest(input *DeleteInvitationsInput) (r // // Deletes invitations received by the AWS account to become a member account. // +// This operation is only used by accounts that are not part of an organization. +// Organization accounts do not receive invitations. +// // 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. @@ -1177,13 +1232,16 @@ func (c *SecurityHub) DeleteInvitationsRequest(input *DeleteInvitationsInput) (r // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations func (c *SecurityHub) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) { @@ -1253,6 +1311,9 @@ func (c *SecurityHub) DeleteMembersRequest(input *DeleteMembersInput) (req *requ // // Deletes the specified member accounts from Security Hub. // +// Can be used to delete member accounts that belong to an organization as well +// as member accounts that were invited manually. +// // 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. @@ -1269,11 +1330,14 @@ func (c *SecurityHub) DeleteMembersRequest(input *DeleteMembersInput) (req *requ // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -1368,7 +1432,9 @@ func (c *SecurityHub) DescribeActionTargetsRequest(input *DescribeActionTargetsI // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -1507,10 +1573,13 @@ func (c *SecurityHub) DescribeHubRequest(input *DescribeHubInput) (req *request. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * InvalidInputException // The request was rejected because you supplied an invalid or out-of-range @@ -1541,6 +1610,100 @@ func (c *SecurityHub) DescribeHubWithContext(ctx aws.Context, input *DescribeHub return out, req.Send() } +const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration" + +// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOrganizationConfiguration 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 DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration +// 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 DescribeOrganizationConfigurationRequest method. +// req, resp := client.DescribeOrganizationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration +func (c *SecurityHub) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeOrganizationConfiguration, + HTTPMethod: "GET", + HTTPPath: "/organization/configuration", + } + + if input == nil { + input = &DescribeOrganizationConfigurationInput{} + } + + output = &DescribeOrganizationConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeOrganizationConfiguration API operation for AWS SecurityHub. +// +// Returns information about the Organizations configuration for Security Hub. +// Can only be called from a Security Hub administrator account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS SecurityHub's +// API operation DescribeOrganizationConfiguration for usage and error information. +// +// Returned Error Types: +// * InternalException +// Internal server error. +// +// * InvalidInputException +// The request was rejected because you supplied an invalid or out-of-range +// value for an input parameter. +// +// * InvalidAccessException +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. +// +// * LimitExceededException +// The request was rejected because it attempted to create resources beyond +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration +func (c *SecurityHub) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) { + req, out := c.DescribeOrganizationConfigurationRequest(input) + return out, req.Send() +} + +// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeOrganizationConfiguration 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 *SecurityHub) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) { + req, out := c.DescribeOrganizationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeProducts = "DescribeProducts" // DescribeProductsRequest generates a "aws/request.Request" representing the @@ -1607,10 +1770,13 @@ func (c *SecurityHub) DescribeProductsRequest(input *DescribeProductsInput) (req // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * InvalidInputException // The request was rejected because you supplied an invalid or out-of-range @@ -1761,7 +1927,9 @@ func (c *SecurityHub) DescribeStandardsRequest(input *DescribeStandardsInput) (r // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards func (c *SecurityHub) DescribeStandards(input *DescribeStandardsInput) (*DescribeStandardsOutput, error) { @@ -1908,7 +2076,9 @@ func (c *SecurityHub) DescribeStandardsControlsRequest(input *DescribeStandardsC // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -2055,11 +2225,14 @@ func (c *SecurityHub) DisableImportFindingsForProductRequest(input *DisableImpor // The request was rejected because we can't find the specified resource. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct func (c *SecurityHub) DisableImportFindingsForProduct(input *DisableImportFindingsForProductInput) (*DisableImportFindingsForProductOutput, error) { @@ -2083,6 +2256,101 @@ func (c *SecurityHub) DisableImportFindingsForProductWithContext(ctx aws.Context return out, req.Send() } +const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount" + +// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the +// client's request for the DisableOrganizationAdminAccount 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 DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount +// 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 DisableOrganizationAdminAccountRequest method. +// req, resp := client.DisableOrganizationAdminAccountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount +func (c *SecurityHub) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) { + op := &request.Operation{ + Name: opDisableOrganizationAdminAccount, + HTTPMethod: "POST", + HTTPPath: "/organization/admin/disable", + } + + if input == nil { + input = &DisableOrganizationAdminAccountInput{} + } + + output = &DisableOrganizationAdminAccountOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisableOrganizationAdminAccount API operation for AWS SecurityHub. +// +// Disables a Security Hub administrator account. Can only be called by the +// organization management account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS SecurityHub's +// API operation DisableOrganizationAdminAccount for usage and error information. +// +// Returned Error Types: +// * InternalException +// Internal server error. +// +// * InvalidInputException +// The request was rejected because you supplied an invalid or out-of-range +// value for an input parameter. +// +// * InvalidAccessException +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. +// +// * LimitExceededException +// The request was rejected because it attempted to create resources beyond +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount +func (c *SecurityHub) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) { + req, out := c.DisableOrganizationAdminAccountRequest(input) + return out, req.Send() +} + +// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of +// the ability to pass a context and additional request options. +// +// See DisableOrganizationAdminAccount 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 *SecurityHub) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) { + req, out := c.DisableOrganizationAdminAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisableSecurityHub = "DisableSecurityHub" // DisableSecurityHubRequest generates a "aws/request.Request" representing the @@ -2156,10 +2424,13 @@ func (c *SecurityHub) DisableSecurityHubRequest(input *DisableSecurityHubInput) // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -2234,6 +2505,10 @@ func (c *SecurityHub) DisassociateFromMasterAccountRequest(input *DisassociateFr // Disassociates the current Security Hub member account from the associated // master account. // +// This operation is only used by accounts that are not part of an organization. +// For organization accounts, only the master account (the designated Security +// Hub administrator) can disassociate a member account. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2250,11 +2525,14 @@ func (c *SecurityHub) DisassociateFromMasterAccountRequest(input *DisassociateFr // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -2328,6 +2606,9 @@ func (c *SecurityHub) DisassociateMembersRequest(input *DisassociateMembersInput // // Disassociates the specified member accounts from the associated master account. // +// Can be used to disassociate both accounts that are in an organization and +// accounts that were invited manually. +// // 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. @@ -2344,11 +2625,14 @@ func (c *SecurityHub) DisassociateMembersRequest(input *DisassociateMembersInput // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -2441,14 +2725,17 @@ func (c *SecurityHub) EnableImportFindingsForProductRequest(input *EnableImportF // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceConflictException // The resource specified in the request conflicts with an existing resource. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct func (c *SecurityHub) EnableImportFindingsForProduct(input *EnableImportFindingsForProductInput) (*EnableImportFindingsForProductOutput, error) { @@ -2472,6 +2759,101 @@ func (c *SecurityHub) EnableImportFindingsForProductWithContext(ctx aws.Context, return out, req.Send() } +const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount" + +// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the +// client's request for the EnableOrganizationAdminAccount 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 EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount +// 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 EnableOrganizationAdminAccountRequest method. +// req, resp := client.EnableOrganizationAdminAccountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount +func (c *SecurityHub) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) { + op := &request.Operation{ + Name: opEnableOrganizationAdminAccount, + HTTPMethod: "POST", + HTTPPath: "/organization/admin/enable", + } + + if input == nil { + input = &EnableOrganizationAdminAccountInput{} + } + + output = &EnableOrganizationAdminAccountOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// EnableOrganizationAdminAccount API operation for AWS SecurityHub. +// +// Designates the Security Hub administrator account for an organization. Can +// only be called by the organization management account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS SecurityHub's +// API operation EnableOrganizationAdminAccount for usage and error information. +// +// Returned Error Types: +// * InternalException +// Internal server error. +// +// * InvalidInputException +// The request was rejected because you supplied an invalid or out-of-range +// value for an input parameter. +// +// * InvalidAccessException +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. +// +// * LimitExceededException +// The request was rejected because it attempted to create resources beyond +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount +func (c *SecurityHub) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) { + req, out := c.EnableOrganizationAdminAccountRequest(input) + return out, req.Send() +} + +// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of +// the ability to pass a context and additional request options. +// +// See EnableOrganizationAdminAccount 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 *SecurityHub) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) { + req, out := c.EnableOrganizationAdminAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEnableSecurityHub = "EnableSecurityHub" // EnableSecurityHubRequest generates a "aws/request.Request" representing the @@ -2556,10 +2938,13 @@ func (c *SecurityHub) EnableSecurityHubRequest(input *EnableSecurityHubInput) (r // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceConflictException // The resource specified in the request conflicts with an existing resource. @@ -2657,11 +3042,14 @@ func (c *SecurityHub) GetEnabledStandardsRequest(input *GetEnabledStandardsInput // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards func (c *SecurityHub) GetEnabledStandards(input *GetEnabledStandardsInput) (*GetEnabledStandardsOutput, error) { @@ -2805,11 +3193,14 @@ func (c *SecurityHub) GetFindingsRequest(input *GetFindingsInput) (req *request. // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings func (c *SecurityHub) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) { @@ -2947,11 +3338,14 @@ func (c *SecurityHub) GetInsightResultsRequest(input *GetInsightResultsInput) (r // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -3046,11 +3440,14 @@ func (c *SecurityHub) GetInsightsRequest(input *GetInsightsInput) (req *request. // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -3192,11 +3589,14 @@ func (c *SecurityHub) GetInvitationsCountRequest(input *GetInvitationsCountInput // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount func (c *SecurityHub) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) { @@ -3267,6 +3667,9 @@ func (c *SecurityHub) GetMasterAccountRequest(input *GetMasterAccountInput) (req // Provides the details for the Security Hub master account for the current // member account. // +// Can be used by both member accounts that are in an organization and accounts +// that were invited manually. +// // 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. @@ -3283,11 +3686,14 @@ func (c *SecurityHub) GetMasterAccountRequest(input *GetMasterAccountInput) (req // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -3361,6 +3767,12 @@ func (c *SecurityHub) GetMembersRequest(input *GetMembersInput) (req *request.Re // Returns the details for the Security Hub member accounts for the specified // account IDs. // +// A master account can be either a delegated Security Hub administrator account +// for an organization or a master account that enabled Security Hub manually. +// +// The results include both member accounts that are in an organization and +// accounts that were invited manually. +// // 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. @@ -3377,11 +3789,14 @@ func (c *SecurityHub) GetMembersRequest(input *GetMembersInput) (req *request.Re // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -3455,11 +3870,14 @@ func (c *SecurityHub) InviteMembersRequest(input *InviteMembersInput) (req *requ // Invites other AWS accounts to become member accounts for the Security Hub // master account that the invitation is sent from. // +// This operation is only used to invite accounts that do not belong to an organization. +// Organization accounts do not receive invitations. +// // Before you can use this action to invite a member, you must first use the // CreateMembers action to create the member account in Security Hub. // -// When the account owner accepts the invitation to become a member account -// and enables Security Hub, the master account can view the findings generated +// When the account owner enables Security Hub and accepts the invitation to +// become a member account, the master account can view the findings generated // from the member account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3478,11 +3896,14 @@ func (c *SecurityHub) InviteMembersRequest(input *InviteMembersInput) (req *requ // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -3575,10 +3996,13 @@ func (c *SecurityHub) ListEnabledProductsForImportRequest(input *ListEnabledProd // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport func (c *SecurityHub) ListEnabledProductsForImport(input *ListEnabledProductsForImportInput) (*ListEnabledProductsForImportOutput, error) { @@ -3707,6 +4131,9 @@ func (c *SecurityHub) ListInvitationsRequest(input *ListInvitationsInput) (req * // Lists all Security Hub membership invitations that were sent to the current // AWS account. // +// This operation is only used by accounts that do not belong to an organization. +// Organization accounts do not receive invitations. +// // 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. @@ -3723,11 +4150,14 @@ func (c *SecurityHub) ListInvitationsRequest(input *ListInvitationsInput) (req * // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations func (c *SecurityHub) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) { @@ -3856,6 +4286,9 @@ func (c *SecurityHub) ListMembersRequest(input *ListMembersInput) (req *request. // Lists details about all member accounts for the current Security Hub master // account. // +// The results include both member accounts that belong to an organization and +// member accounts that were invited manually. +// // 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. @@ -3872,11 +4305,14 @@ func (c *SecurityHub) ListMembersRequest(input *ListMembersInput) (req *request. // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers func (c *SecurityHub) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) { @@ -3952,6 +4388,158 @@ func (c *SecurityHub) ListMembersPagesWithContext(ctx aws.Context, input *ListMe return p.Err() } +const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts" + +// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the +// client's request for the ListOrganizationAdminAccounts 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 ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts +// 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 ListOrganizationAdminAccountsRequest method. +// req, resp := client.ListOrganizationAdminAccountsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts +func (c *SecurityHub) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) { + op := &request.Operation{ + Name: opListOrganizationAdminAccounts, + HTTPMethod: "GET", + HTTPPath: "/organization/admin", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListOrganizationAdminAccountsInput{} + } + + output = &ListOrganizationAdminAccountsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOrganizationAdminAccounts API operation for AWS SecurityHub. +// +// Lists the Security Hub administrator accounts. Can only be called by the +// organization management account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS SecurityHub's +// API operation ListOrganizationAdminAccounts for usage and error information. +// +// Returned Error Types: +// * InternalException +// Internal server error. +// +// * InvalidInputException +// The request was rejected because you supplied an invalid or out-of-range +// value for an input parameter. +// +// * InvalidAccessException +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. +// +// * LimitExceededException +// The request was rejected because it attempted to create resources beyond +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts +func (c *SecurityHub) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) { + req, out := c.ListOrganizationAdminAccountsRequest(input) + return out, req.Send() +} + +// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of +// the ability to pass a context and additional request options. +// +// See ListOrganizationAdminAccounts 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 *SecurityHub) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) { + req, out := c.ListOrganizationAdminAccountsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOrganizationAdminAccounts method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation. +// pageNum := 0 +// err := client.ListOrganizationAdminAccountsPages(params, +// func(page *securityhub.ListOrganizationAdminAccountsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SecurityHub) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error { + return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *SecurityHub) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOrganizationAdminAccountsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOrganizationAdminAccountsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -4278,7 +4866,9 @@ func (c *SecurityHub) UpdateActionTargetRequest(input *UpdateActionTargetInput) // The request was rejected because we can't find the specified resource. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -4373,10 +4963,13 @@ func (c *SecurityHub) UpdateFindingsRequest(input *UpdateFindingsInput) (req *re // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -4466,11 +5059,14 @@ func (c *SecurityHub) UpdateInsightRequest(input *UpdateInsightInput) (req *requ // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -4497,6 +5093,101 @@ func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateIns return out, req.Send() } +const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration" + +// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateOrganizationConfiguration 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 UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration +// 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 UpdateOrganizationConfigurationRequest method. +// req, resp := client.UpdateOrganizationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration +func (c *SecurityHub) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateOrganizationConfiguration, + HTTPMethod: "POST", + HTTPPath: "/organization/configuration", + } + + if input == nil { + input = &UpdateOrganizationConfigurationInput{} + } + + output = &UpdateOrganizationConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateOrganizationConfiguration API operation for AWS SecurityHub. +// +// Used to update the configuration related to Organizations. Can only be called +// from a Security Hub administrator account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS SecurityHub's +// API operation UpdateOrganizationConfiguration for usage and error information. +// +// Returned Error Types: +// * InternalException +// Internal server error. +// +// * InvalidInputException +// The request was rejected because you supplied an invalid or out-of-range +// value for an input parameter. +// +// * InvalidAccessException +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. +// +// * LimitExceededException +// The request was rejected because it attempted to create resources beyond +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration +func (c *SecurityHub) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) { + req, out := c.UpdateOrganizationConfigurationRequest(input) + return out, req.Send() +} + +// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateOrganizationConfiguration 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 *SecurityHub) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) { + req, out := c.UpdateOrganizationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration" // UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the @@ -4560,11 +5251,14 @@ func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurit // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * LimitExceededException // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -4655,7 +5349,9 @@ func (c *SecurityHub) UpdateStandardsControlRequest(input *UpdateStandardsContro // value for an input parameter. // // * InvalidAccessException -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. // // * ResourceNotFoundException // The request was rejected because we can't find the specified resource. @@ -4811,7 +5507,9 @@ type AccountDetails struct { _ struct{} `type:"structure"` // The ID of an AWS account. - AccountId *string `type:"string"` + // + // AccountId is a required field + AccountId *string `type:"string" required:"true"` // The email of an AWS account. Email *string `type:"string"` @@ -4827,6 +5525,19 @@ func (s AccountDetails) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AccountDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AccountDetails"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAccountId sets the AccountId field's value. func (s *AccountDetails) SetAccountId(v string) *AccountDetails { s.AccountId = &v @@ -4887,6 +5598,41 @@ func (s *ActionTarget) SetName(v string) *ActionTarget { return s } +// Represents a Security Hub administrator account designated by an organization +// management account. +type AdminAccount struct { + _ struct{} `type:"structure"` + + // The AWS account identifier of the Security Hub administrator account. + AccountId *string `type:"string"` + + // The current status of the Security Hub administrator account. Indicates whether + // the account is currently enabled as a Security Hub administrator. + Status *string `type:"string" enum:"AdminStatus"` +} + +// String returns the string representation +func (s AdminAccount) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdminAccount) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *AdminAccount) SetAccountId(v string) *AdminAccount { + s.AccountId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AdminAccount) SetStatus(v string) *AdminAccount { + s.Status = &v + return s +} + // Information about an Availability Zone. type AvailabilityZone struct { _ struct{} `type:"structure"` @@ -18024,8 +18770,10 @@ type CreateMembersInput struct { _ struct{} `type:"structure"` // The list of accounts to associate with the Security Hub master account. For - // each account, the list includes the account ID and the email address. - AccountDetails []*AccountDetails `type:"list"` + // each account, the list includes the account ID and optionally the email address. + // + // AccountDetails is a required field + AccountDetails []*AccountDetails `type:"list" required:"true"` } // String returns the string representation @@ -18038,6 +18786,29 @@ func (s CreateMembersInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"} + if s.AccountDetails == nil { + invalidParams.Add(request.NewErrParamRequired("AccountDetails")) + } + if s.AccountDetails != nil { + for i, v := range s.AccountDetails { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAccountDetails sets the AccountDetails field's value. func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetails) *CreateMembersInput { s.AccountDetails = v @@ -18446,7 +19217,9 @@ type DeleteMembersInput struct { _ struct{} `type:"structure"` // The list of account IDs for the member accounts to delete. - AccountIds []*string `type:"list"` + // + // AccountIds is a required field + AccountIds []*string `type:"list" required:"true"` } // String returns the string representation @@ -18459,6 +19232,19 @@ func (s DeleteMembersInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAccountIds sets the AccountIds field's value. func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput { s.AccountIds = v @@ -18650,6 +19436,56 @@ func (s *DescribeHubOutput) SetSubscribedAt(v string) *DescribeHubOutput { return s } +type DescribeOrganizationConfigurationInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DescribeOrganizationConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOrganizationConfigurationInput) GoString() string { + return s.String() +} + +type DescribeOrganizationConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Whether to automatically enable Security Hub for new accounts in the organization. + // + // If set to true, then Security Hub is enabled for new accounts. If set to + // false, then new accounts are not added automatically. + AutoEnable *bool `type:"boolean"` + + // Whether the maximum number of allowed member accounts are already associated + // with the Security Hub administrator account. + MemberAccountLimitReached *bool `type:"boolean"` +} + +// String returns the string representation +func (s DescribeOrganizationConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOrganizationConfigurationOutput) GoString() string { + return s.String() +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput { + s.AutoEnable = &v + return s +} + +// SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value. +func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput { + s.MemberAccountLimitReached = &v + return s +} + type DescribeProductsInput struct { _ struct{} `type:"structure"` @@ -18747,6 +19583,8 @@ type DescribeStandardsControlsInput struct { NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` // The ARN of a resource that represents your subscription to a supported standard. + // To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards + // operation. // // StandardsSubscriptionArn is a required field StandardsSubscriptionArn *string `location:"uri" locationName:"StandardsSubscriptionArn" type:"string" required:"true"` @@ -18967,6 +19805,58 @@ func (s DisableImportFindingsForProductOutput) GoString() string { return s.String() } +type DisableOrganizationAdminAccountInput struct { + _ struct{} `type:"structure"` + + // The AWS account identifier of the Security Hub administrator account. + // + // AdminAccountId is a required field + AdminAccountId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DisableOrganizationAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableOrganizationAdminAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableOrganizationAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"} + if s.AdminAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AdminAccountId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdminAccountId sets the AdminAccountId field's value. +func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput { + s.AdminAccountId = &v + return s +} + +type DisableOrganizationAdminAccountOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisableOrganizationAdminAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableOrganizationAdminAccountOutput) GoString() string { + return s.String() +} + type DisableSecurityHubInput struct { _ struct{} `type:"structure"` } @@ -19027,7 +19917,9 @@ type DisassociateMembersInput struct { _ struct{} `type:"structure"` // The account IDs of the member accounts to disassociate from the master account. - AccountIds []*string `type:"list"` + // + // AccountIds is a required field + AccountIds []*string `type:"list" required:"true"` } // String returns the string representation @@ -19040,6 +19932,19 @@ func (s DisassociateMembersInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAccountIds sets the AccountIds field's value. func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput { s.AccountIds = v @@ -19121,6 +20026,59 @@ func (s *EnableImportFindingsForProductOutput) SetProductSubscriptionArn(v strin return s } +type EnableOrganizationAdminAccountInput struct { + _ struct{} `type:"structure"` + + // The AWS account identifier of the account to designate as the Security Hub + // administrator account. + // + // AdminAccountId is a required field + AdminAccountId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s EnableOrganizationAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableOrganizationAdminAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableOrganizationAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"} + if s.AdminAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AdminAccountId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdminAccountId sets the AdminAccountId field's value. +func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput { + s.AdminAccountId = &v + return s +} + +type EnableOrganizationAdminAccountOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EnableOrganizationAdminAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableOrganizationAdminAccountOutput) GoString() string { + return s.String() +} + type EnableSecurityHubInput struct { _ struct{} `type:"structure"` @@ -19952,7 +20910,9 @@ func (s *InternalException) RequestID() string { return s.RespMetadata.RequestID } -// AWS Security Hub isn't enabled for the account used to make this request. +// There is an issue with the account used to make the request. Either Security +// Hub is not enabled for the account, or the account does not have permission +// to perform this action. type InvalidAccessException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -20126,7 +21086,9 @@ type InviteMembersInput struct { // The list of account IDs of the AWS accounts to invite to Security Hub as // members. - AccountIds []*string `type:"list"` + // + // AccountIds is a required field + AccountIds []*string `type:"list" required:"true"` } // String returns the string representation @@ -20139,6 +21101,19 @@ func (s InviteMembersInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *InviteMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAccountIds sets the AccountIds field's value. func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput { s.AccountIds = v @@ -20260,7 +21235,8 @@ func (s *KeywordFilter) SetValue(v string) *KeywordFilter { } // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error code describes the limit exceeded. +// the current AWS account or throttling limits. The error code describes the +// limit exceeded. type LimitExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -20497,7 +21473,7 @@ type ListMembersInput struct { // relationship status with the master account. The default value is TRUE. // // If OnlyAssociated is set to TRUE, the response includes member accounts whose - // relationship status with the master is set to ENABLED or DISABLED. + // relationship status with the master is set to ENABLED. // // If OnlyAssociated is set to FALSE, the response includes all existing member // accounts. @@ -20577,6 +21553,86 @@ func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput { return s } +type ListOrganizationAdminAccountsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to return in the response. + MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` + + // The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts + // operation, set the value of this parameter to NULL. For subsequent calls + // to the operation, to continue listing data, set the value of this parameter + // to the value returned from the previous response. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` +} + +// String returns the string representation +func (s ListOrganizationAdminAccountsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOrganizationAdminAccountsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListOrganizationAdminAccountsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput { + s.NextToken = &v + return s +} + +type ListOrganizationAdminAccountsOutput struct { + _ struct{} `type:"structure"` + + // The list of Security Hub administrator accounts. + AdminAccounts []*AdminAccount `type:"list"` + + // The pagination token to use to request the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListOrganizationAdminAccountsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOrganizationAdminAccountsOutput) GoString() string { + return s.String() +} + +// SetAdminAccounts sets the AdminAccounts field's value. +func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput { + s.AdminAccounts = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput { + s.NextToken = &v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure"` @@ -20838,7 +21894,9 @@ type Member struct { // * INVITED - Indicates that the master account invited the member account. // The member account has not yet responded to the invitation. // - // * ASSOCIATED - Indicates that the member account accepted the invitation. + // * ENABLED - Indicates that the member account is currently active. For + // manually invited member accounts, indicates that the member account accepted + // the invitation. // // * REMOVED - Indicates that the master account disassociated the member // account. @@ -23582,6 +24640,62 @@ func (s UpdateInsightOutput) GoString() string { return s.String() } +type UpdateOrganizationConfigurationInput struct { + _ struct{} `type:"structure"` + + // Whether to automatically enable Security Hub for new accounts in the organization. + // + // By default, this is false, and new accounts are not added automatically. + // + // To automatically enable Security Hub for new accounts, set this to true. + // + // AutoEnable is a required field + AutoEnable *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s UpdateOrganizationConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateOrganizationConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateOrganizationConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"} + if s.AutoEnable == nil { + invalidParams.Add(request.NewErrParamRequired("AutoEnable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput { + s.AutoEnable = &v + return s +} + +type UpdateOrganizationConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateOrganizationConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateOrganizationConfigurationOutput) GoString() string { + return s.String() +} + type UpdateSecurityHubConfigurationInput struct { _ struct{} `type:"structure"` @@ -24030,6 +25144,22 @@ func (s *WorkflowUpdate) SetStatus(v string) *WorkflowUpdate { return s } +const ( + // AdminStatusEnabled is a AdminStatus enum value + AdminStatusEnabled = "ENABLED" + + // AdminStatusDisableInProgress is a AdminStatus enum value + AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS" +) + +// AdminStatus_Values returns all elements of the AdminStatus enum +func AdminStatus_Values() []string { + return []string{ + AdminStatusEnabled, + AdminStatusDisableInProgress, + } +} + const ( // AwsIamAccessKeyStatusActive is a AwsIamAccessKeyStatus enum value AwsIamAccessKeyStatusActive = "Active" diff --git a/service/securityhub/errors.go b/service/securityhub/errors.go index eb6cf77147..c2c0b66c79 100644 --- a/service/securityhub/errors.go +++ b/service/securityhub/errors.go @@ -23,7 +23,9 @@ const ( // ErrCodeInvalidAccessException for service response error code // "InvalidAccessException". // - // AWS Security Hub isn't enabled for the account used to make this request. + // There is an issue with the account used to make the request. Either Security + // Hub is not enabled for the account, or the account does not have permission + // to perform this action. ErrCodeInvalidAccessException = "InvalidAccessException" // ErrCodeInvalidInputException for service response error code @@ -37,7 +39,8 @@ const ( // "LimitExceededException". // // The request was rejected because it attempted to create resources beyond - // the current AWS account limits. The error code describes the limit exceeded. + // the current AWS account or throttling limits. The error code describes the + // limit exceeded. ErrCodeLimitExceededException = "LimitExceededException" // ErrCodeResourceConflictException for service response error code diff --git a/service/securityhub/securityhubiface/interface.go b/service/securityhub/securityhubiface/interface.go index 16ef6b5f5f..2f064b86c4 100644 --- a/service/securityhub/securityhubiface/interface.go +++ b/service/securityhub/securityhubiface/interface.go @@ -123,6 +123,10 @@ type SecurityHubAPI interface { DescribeHubWithContext(aws.Context, *securityhub.DescribeHubInput, ...request.Option) (*securityhub.DescribeHubOutput, error) DescribeHubRequest(*securityhub.DescribeHubInput) (*request.Request, *securityhub.DescribeHubOutput) + DescribeOrganizationConfiguration(*securityhub.DescribeOrganizationConfigurationInput) (*securityhub.DescribeOrganizationConfigurationOutput, error) + DescribeOrganizationConfigurationWithContext(aws.Context, *securityhub.DescribeOrganizationConfigurationInput, ...request.Option) (*securityhub.DescribeOrganizationConfigurationOutput, error) + DescribeOrganizationConfigurationRequest(*securityhub.DescribeOrganizationConfigurationInput) (*request.Request, *securityhub.DescribeOrganizationConfigurationOutput) + DescribeProducts(*securityhub.DescribeProductsInput) (*securityhub.DescribeProductsOutput, error) DescribeProductsWithContext(aws.Context, *securityhub.DescribeProductsInput, ...request.Option) (*securityhub.DescribeProductsOutput, error) DescribeProductsRequest(*securityhub.DescribeProductsInput) (*request.Request, *securityhub.DescribeProductsOutput) @@ -148,6 +152,10 @@ type SecurityHubAPI interface { DisableImportFindingsForProductWithContext(aws.Context, *securityhub.DisableImportFindingsForProductInput, ...request.Option) (*securityhub.DisableImportFindingsForProductOutput, error) DisableImportFindingsForProductRequest(*securityhub.DisableImportFindingsForProductInput) (*request.Request, *securityhub.DisableImportFindingsForProductOutput) + DisableOrganizationAdminAccount(*securityhub.DisableOrganizationAdminAccountInput) (*securityhub.DisableOrganizationAdminAccountOutput, error) + DisableOrganizationAdminAccountWithContext(aws.Context, *securityhub.DisableOrganizationAdminAccountInput, ...request.Option) (*securityhub.DisableOrganizationAdminAccountOutput, error) + DisableOrganizationAdminAccountRequest(*securityhub.DisableOrganizationAdminAccountInput) (*request.Request, *securityhub.DisableOrganizationAdminAccountOutput) + DisableSecurityHub(*securityhub.DisableSecurityHubInput) (*securityhub.DisableSecurityHubOutput, error) DisableSecurityHubWithContext(aws.Context, *securityhub.DisableSecurityHubInput, ...request.Option) (*securityhub.DisableSecurityHubOutput, error) DisableSecurityHubRequest(*securityhub.DisableSecurityHubInput) (*request.Request, *securityhub.DisableSecurityHubOutput) @@ -164,6 +172,10 @@ type SecurityHubAPI interface { EnableImportFindingsForProductWithContext(aws.Context, *securityhub.EnableImportFindingsForProductInput, ...request.Option) (*securityhub.EnableImportFindingsForProductOutput, error) EnableImportFindingsForProductRequest(*securityhub.EnableImportFindingsForProductInput) (*request.Request, *securityhub.EnableImportFindingsForProductOutput) + EnableOrganizationAdminAccount(*securityhub.EnableOrganizationAdminAccountInput) (*securityhub.EnableOrganizationAdminAccountOutput, error) + EnableOrganizationAdminAccountWithContext(aws.Context, *securityhub.EnableOrganizationAdminAccountInput, ...request.Option) (*securityhub.EnableOrganizationAdminAccountOutput, error) + EnableOrganizationAdminAccountRequest(*securityhub.EnableOrganizationAdminAccountInput) (*request.Request, *securityhub.EnableOrganizationAdminAccountOutput) + EnableSecurityHub(*securityhub.EnableSecurityHubInput) (*securityhub.EnableSecurityHubOutput, error) EnableSecurityHubWithContext(aws.Context, *securityhub.EnableSecurityHubInput, ...request.Option) (*securityhub.EnableSecurityHubOutput, error) EnableSecurityHubRequest(*securityhub.EnableSecurityHubInput) (*request.Request, *securityhub.EnableSecurityHubOutput) @@ -230,6 +242,13 @@ type SecurityHubAPI interface { ListMembersPages(*securityhub.ListMembersInput, func(*securityhub.ListMembersOutput, bool) bool) error ListMembersPagesWithContext(aws.Context, *securityhub.ListMembersInput, func(*securityhub.ListMembersOutput, bool) bool, ...request.Option) error + ListOrganizationAdminAccounts(*securityhub.ListOrganizationAdminAccountsInput) (*securityhub.ListOrganizationAdminAccountsOutput, error) + ListOrganizationAdminAccountsWithContext(aws.Context, *securityhub.ListOrganizationAdminAccountsInput, ...request.Option) (*securityhub.ListOrganizationAdminAccountsOutput, error) + ListOrganizationAdminAccountsRequest(*securityhub.ListOrganizationAdminAccountsInput) (*request.Request, *securityhub.ListOrganizationAdminAccountsOutput) + + ListOrganizationAdminAccountsPages(*securityhub.ListOrganizationAdminAccountsInput, func(*securityhub.ListOrganizationAdminAccountsOutput, bool) bool) error + ListOrganizationAdminAccountsPagesWithContext(aws.Context, *securityhub.ListOrganizationAdminAccountsInput, func(*securityhub.ListOrganizationAdminAccountsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*securityhub.ListTagsForResourceInput) (*securityhub.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *securityhub.ListTagsForResourceInput, ...request.Option) (*securityhub.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*securityhub.ListTagsForResourceInput) (*request.Request, *securityhub.ListTagsForResourceOutput) @@ -254,6 +273,10 @@ type SecurityHubAPI interface { UpdateInsightWithContext(aws.Context, *securityhub.UpdateInsightInput, ...request.Option) (*securityhub.UpdateInsightOutput, error) UpdateInsightRequest(*securityhub.UpdateInsightInput) (*request.Request, *securityhub.UpdateInsightOutput) + UpdateOrganizationConfiguration(*securityhub.UpdateOrganizationConfigurationInput) (*securityhub.UpdateOrganizationConfigurationOutput, error) + UpdateOrganizationConfigurationWithContext(aws.Context, *securityhub.UpdateOrganizationConfigurationInput, ...request.Option) (*securityhub.UpdateOrganizationConfigurationOutput, error) + UpdateOrganizationConfigurationRequest(*securityhub.UpdateOrganizationConfigurationInput) (*request.Request, *securityhub.UpdateOrganizationConfigurationOutput) + UpdateSecurityHubConfiguration(*securityhub.UpdateSecurityHubConfigurationInput) (*securityhub.UpdateSecurityHubConfigurationOutput, error) UpdateSecurityHubConfigurationWithContext(aws.Context, *securityhub.UpdateSecurityHubConfigurationInput, ...request.Option) (*securityhub.UpdateSecurityHubConfigurationOutput, error) UpdateSecurityHubConfigurationRequest(*securityhub.UpdateSecurityHubConfigurationInput) (*request.Request, *securityhub.UpdateSecurityHubConfigurationOutput) diff --git a/service/signer/api.go b/service/signer/api.go index 3e8a2d52b5..9854e8a5ca 100644 --- a/service/signer/api.go +++ b/service/signer/api.go @@ -13,6 +13,105 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opAddProfilePermission = "AddProfilePermission" + +// AddProfilePermissionRequest generates a "aws/request.Request" representing the +// client's request for the AddProfilePermission 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 AddProfilePermission for more information on using the AddProfilePermission +// 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 AddProfilePermissionRequest method. +// req, resp := client.AddProfilePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/AddProfilePermission +func (c *Signer) AddProfilePermissionRequest(input *AddProfilePermissionInput) (req *request.Request, output *AddProfilePermissionOutput) { + op := &request.Operation{ + Name: opAddProfilePermission, + HTTPMethod: "POST", + HTTPPath: "/signing-profiles/{profileName}/permissions", + } + + if input == nil { + input = &AddProfilePermissionInput{} + } + + output = &AddProfilePermissionOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddProfilePermission API operation for AWS Signer. +// +// Adds cross-account permissions to a signing profile. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Signer's +// API operation AddProfilePermission for usage and error information. +// +// Returned Error Types: +// * ValidationException +// You signing certificate could not be validated. +// +// * ResourceNotFoundException +// A specified resource could not be found. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ServiceLimitExceededException +// The client is making a request that exceeds service limits. +// +// * ConflictException +// The resource encountered a conflicting state. +// +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// +// * InternalServiceErrorException +// An internal error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/AddProfilePermission +func (c *Signer) AddProfilePermission(input *AddProfilePermissionInput) (*AddProfilePermissionOutput, error) { + req, out := c.AddProfilePermissionRequest(input) + return out, req.Send() +} + +// AddProfilePermissionWithContext is the same as AddProfilePermission with the addition of +// the ability to pass a context and additional request options. +// +// See AddProfilePermission 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 *Signer) AddProfilePermissionWithContext(ctx aws.Context, input *AddProfilePermissionInput, opts ...request.Option) (*AddProfilePermissionOutput, error) { + req, out := c.AddProfilePermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCancelSigningProfile = "CancelSigningProfile" // CancelSigningProfileRequest generates a "aws/request.Request" representing the @@ -76,8 +175,10 @@ func (c *Signer) CancelSigningProfileRequest(input *CancelSigningProfileInput) ( // * AccessDeniedException // You do not have sufficient access to perform this action. // -// * ThrottlingException -// The signing job has been throttled. +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. // // * InternalServiceErrorException // An internal error occurred. @@ -165,6 +266,11 @@ func (c *Signer) DescribeSigningJobRequest(input *DescribeSigningJobInput) (req // * AccessDeniedException // You do not have sufficient access to perform this action. // +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// // * InternalServiceErrorException // An internal error occurred. // @@ -250,6 +356,11 @@ func (c *Signer) GetSigningPlatformRequest(input *GetSigningPlatformInput) (req // * AccessDeniedException // You do not have sufficient access to perform this action. // +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// // * InternalServiceErrorException // An internal error occurred. // @@ -335,8 +446,10 @@ func (c *Signer) GetSigningProfileRequest(input *GetSigningProfileInput) (req *r // * AccessDeniedException // You do not have sufficient access to perform this action. // -// * ThrottlingException -// The signing job has been throttled. +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. // // * InternalServiceErrorException // An internal error occurred. @@ -363,6 +476,99 @@ func (c *Signer) GetSigningProfileWithContext(ctx aws.Context, input *GetSigning return out, req.Send() } +const opListProfilePermissions = "ListProfilePermissions" + +// ListProfilePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the ListProfilePermissions 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 ListProfilePermissions for more information on using the ListProfilePermissions +// 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 ListProfilePermissionsRequest method. +// req, resp := client.ListProfilePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/ListProfilePermissions +func (c *Signer) ListProfilePermissionsRequest(input *ListProfilePermissionsInput) (req *request.Request, output *ListProfilePermissionsOutput) { + op := &request.Operation{ + Name: opListProfilePermissions, + HTTPMethod: "GET", + HTTPPath: "/signing-profiles/{profileName}/permissions", + } + + if input == nil { + input = &ListProfilePermissionsInput{} + } + + output = &ListProfilePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProfilePermissions API operation for AWS Signer. +// +// Lists the cross-account permissions associated with a signing profile. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Signer's +// API operation ListProfilePermissions for usage and error information. +// +// Returned Error Types: +// * ValidationException +// You signing certificate could not be validated. +// +// * ResourceNotFoundException +// A specified resource could not be found. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// +// * InternalServiceErrorException +// An internal error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/ListProfilePermissions +func (c *Signer) ListProfilePermissions(input *ListProfilePermissionsInput) (*ListProfilePermissionsOutput, error) { + req, out := c.ListProfilePermissionsRequest(input) + return out, req.Send() +} + +// ListProfilePermissionsWithContext is the same as ListProfilePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See ListProfilePermissions 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 *Signer) ListProfilePermissionsWithContext(ctx aws.Context, input *ListProfilePermissionsInput, opts ...request.Option) (*ListProfilePermissionsOutput, error) { + req, out := c.ListProfilePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListSigningJobs = "ListSigningJobs" // ListSigningJobsRequest generates a "aws/request.Request" representing the @@ -435,8 +641,10 @@ func (c *Signer) ListSigningJobsRequest(input *ListSigningJobsInput) (req *reque // * AccessDeniedException // You do not have sufficient access to perform this action. // -// * ThrottlingException -// The signing job has been throttled. +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. // // * InternalServiceErrorException // An internal error occurred. @@ -586,8 +794,10 @@ func (c *Signer) ListSigningPlatformsRequest(input *ListSigningPlatformsInput) ( // * AccessDeniedException // You do not have sufficient access to perform this action. // -// * ThrottlingException -// The signing job has been throttled. +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. // // * InternalServiceErrorException // An internal error occurred. @@ -735,8 +945,10 @@ func (c *Signer) ListSigningProfilesRequest(input *ListSigningProfilesInput) (re // * AccessDeniedException // You do not have sufficient access to perform this action. // -// * ThrottlingException -// The signing job has been throttled. +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. // // * InternalServiceErrorException // An internal error occurred. @@ -879,6 +1091,11 @@ func (c *Signer) ListTagsForResourceRequest(input *ListTagsForResourceInput) (re // * NotFoundException // The signing profile was not found. // +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/ListTagsForResource func (c *Signer) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) @@ -967,8 +1184,10 @@ func (c *Signer) PutSigningProfileRequest(input *PutSigningProfileInput) (req *r // * ValidationException // You signing certificate could not be validated. // -// * ThrottlingException -// The signing job has been throttled. +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. // // * InternalServiceErrorException // An internal error occurred. @@ -995,81 +1214,58 @@ func (c *Signer) PutSigningProfileWithContext(ctx aws.Context, input *PutSigning return out, req.Send() } -const opStartSigningJob = "StartSigningJob" +const opRemoveProfilePermission = "RemoveProfilePermission" -// StartSigningJobRequest generates a "aws/request.Request" representing the -// client's request for the StartSigningJob operation. The "output" return +// RemoveProfilePermissionRequest generates a "aws/request.Request" representing the +// client's request for the RemoveProfilePermission 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 StartSigningJob for more information on using the StartSigningJob +// See RemoveProfilePermission for more information on using the RemoveProfilePermission // 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 StartSigningJobRequest method. -// req, resp := client.StartSigningJobRequest(params) +// // Example sending a request using the RemoveProfilePermissionRequest method. +// req, resp := client.RemoveProfilePermissionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/StartSigningJob -func (c *Signer) StartSigningJobRequest(input *StartSigningJobInput) (req *request.Request, output *StartSigningJobOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/RemoveProfilePermission +func (c *Signer) RemoveProfilePermissionRequest(input *RemoveProfilePermissionInput) (req *request.Request, output *RemoveProfilePermissionOutput) { op := &request.Operation{ - Name: opStartSigningJob, - HTTPMethod: "POST", - HTTPPath: "/signing-jobs", + Name: opRemoveProfilePermission, + HTTPMethod: "DELETE", + HTTPPath: "/signing-profiles/{profileName}/permissions/{statementId}", } if input == nil { - input = &StartSigningJobInput{} + input = &RemoveProfilePermissionInput{} } - output = &StartSigningJobOutput{} + output = &RemoveProfilePermissionOutput{} req = c.newRequest(op, input, output) return } -// StartSigningJob API operation for AWS Signer. -// -// Initiates a signing job to be performed on the code provided. Signing jobs -// are viewable by the ListSigningJobs operation for two years after they are -// performed. Note the following requirements: -// -// * You must create an Amazon S3 source bucket. For more information, see -// Create a Bucket (http://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) -// in the Amazon S3 Getting Started Guide. -// -// * Your S3 source bucket must be version enabled. -// -// * You must create an S3 destination bucket. Code signing uses your S3 -// destination bucket to write your signed code. -// -// * You specify the name of the source and destination buckets when calling -// the StartSigningJob operation. -// -// * You must also specify a request token that identifies your request to -// code signing. -// -// You can call the DescribeSigningJob and the ListSigningJobs actions after -// you call StartSigningJob. +// RemoveProfilePermission API operation for AWS Signer. // -// For a Java example that shows how to use this action, see http://docs.aws.amazon.com/acm/latest/userguide/ -// (http://docs.aws.amazon.com/acm/latest/userguide/) +// Removes cross-account permissions from a signing profile. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Signer's -// API operation StartSigningJob for usage and error information. +// API operation RemoveProfilePermission for usage and error information. // // Returned Error Types: // * ValidationException @@ -1081,142 +1277,464 @@ func (c *Signer) StartSigningJobRequest(input *StartSigningJobInput) (req *reque // * AccessDeniedException // You do not have sufficient access to perform this action. // -// * ThrottlingException -// The signing job has been throttled. +// * ConflictException +// The resource encountered a conflicting state. +// +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. // // * InternalServiceErrorException // An internal error occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/StartSigningJob -func (c *Signer) StartSigningJob(input *StartSigningJobInput) (*StartSigningJobOutput, error) { - req, out := c.StartSigningJobRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/RemoveProfilePermission +func (c *Signer) RemoveProfilePermission(input *RemoveProfilePermissionInput) (*RemoveProfilePermissionOutput, error) { + req, out := c.RemoveProfilePermissionRequest(input) return out, req.Send() } -// StartSigningJobWithContext is the same as StartSigningJob with the addition of +// RemoveProfilePermissionWithContext is the same as RemoveProfilePermission with the addition of // the ability to pass a context and additional request options. // -// See StartSigningJob for details on how to use this API operation. +// See RemoveProfilePermission 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 *Signer) StartSigningJobWithContext(ctx aws.Context, input *StartSigningJobInput, opts ...request.Option) (*StartSigningJobOutput, error) { - req, out := c.StartSigningJobRequest(input) +func (c *Signer) RemoveProfilePermissionWithContext(ctx aws.Context, input *RemoveProfilePermissionInput, opts ...request.Option) (*RemoveProfilePermissionOutput, error) { + req, out := c.RemoveProfilePermissionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opRevokeSignature = "RevokeSignature" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// RevokeSignatureRequest generates a "aws/request.Request" representing the +// client's request for the RevokeSignature 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 +// See RevokeSignature for more information on using the RevokeSignature // 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) +// // Example sending a request using the RevokeSignatureRequest method. +// req, resp := client.RevokeSignatureRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/TagResource -func (c *Signer) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/RevokeSignature +func (c *Signer) RevokeSignatureRequest(input *RevokeSignatureInput) (req *request.Request, output *RevokeSignatureOutput) { op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", - HTTPPath: "/tags/{resourceArn}", + Name: opRevokeSignature, + HTTPMethod: "PUT", + HTTPPath: "/signing-jobs/{jobId}/revoke", } if input == nil { - input = &TagResourceInput{} + input = &RevokeSignatureInput{} } - output = &TagResourceOutput{} + output = &RevokeSignatureOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS Signer. +// RevokeSignature API operation for AWS Signer. // -// Adds one or more tags to a signing profile. Tags are labels that you can -// use to identify and organize your AWS resources. Each tag consists of a key -// and an optional value. To specify the signing profile, use its Amazon Resource -// Name (ARN). To specify the tag, use a key-value pair. +// Changes the state of a signing job to REVOKED. This indicates that the signature +// is no longer valid. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Signer's -// API operation TagResource for usage and error information. +// API operation RevokeSignature for usage and error information. // // Returned Error Types: -// * InternalServiceErrorException -// An internal error occurred. +// * ValidationException +// You signing certificate could not be validated. // -// * BadRequestException -// The request contains invalid parameters for the ARN or tags. This exception -// also occurs when you call a tagging API on a cancelled signing profile. +// * AccessDeniedException +// You do not have sufficient access to perform this action. // -// * NotFoundException -// The signing profile was not found. +// * ResourceNotFoundException +// A specified resource could not be found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/TagResource -func (c *Signer) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// +// * InternalServiceErrorException +// An internal error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/RevokeSignature +func (c *Signer) RevokeSignature(input *RevokeSignatureInput) (*RevokeSignatureOutput, error) { + req, out := c.RevokeSignatureRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// RevokeSignatureWithContext is the same as RevokeSignature 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. +// See RevokeSignature 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 *Signer) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *Signer) RevokeSignatureWithContext(ctx aws.Context, input *RevokeSignatureInput, opts ...request.Option) (*RevokeSignatureOutput, error) { + req, out := c.RevokeSignatureRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opRevokeSigningProfile = "RevokeSigningProfile" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// RevokeSigningProfileRequest generates a "aws/request.Request" representing the +// client's request for the RevokeSigningProfile 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 +// See RevokeSigningProfile for more information on using the RevokeSigningProfile // 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. +// // Example sending a request using the RevokeSigningProfileRequest method. +// req, resp := client.RevokeSigningProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/RevokeSigningProfile +func (c *Signer) RevokeSigningProfileRequest(input *RevokeSigningProfileInput) (req *request.Request, output *RevokeSigningProfileOutput) { + op := &request.Operation{ + Name: opRevokeSigningProfile, + HTTPMethod: "PUT", + HTTPPath: "/signing-profiles/{profileName}/revoke", + } + + if input == nil { + input = &RevokeSigningProfileInput{} + } + + output = &RevokeSigningProfileOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RevokeSigningProfile API operation for AWS Signer. +// +// Changes the state of a signing profile to REVOKED. This indicates that signatures +// generated using the signing profile after an effective start date are no +// longer valid. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Signer's +// API operation RevokeSigningProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// You signing certificate could not be validated. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// A specified resource could not be found. +// +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// +// * InternalServiceErrorException +// An internal error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/RevokeSigningProfile +func (c *Signer) RevokeSigningProfile(input *RevokeSigningProfileInput) (*RevokeSigningProfileOutput, error) { + req, out := c.RevokeSigningProfileRequest(input) + return out, req.Send() +} + +// RevokeSigningProfileWithContext is the same as RevokeSigningProfile with the addition of +// the ability to pass a context and additional request options. +// +// See RevokeSigningProfile 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 *Signer) RevokeSigningProfileWithContext(ctx aws.Context, input *RevokeSigningProfileInput, opts ...request.Option) (*RevokeSigningProfileOutput, error) { + req, out := c.RevokeSigningProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartSigningJob = "StartSigningJob" + +// StartSigningJobRequest generates a "aws/request.Request" representing the +// client's request for the StartSigningJob 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 StartSigningJob for more information on using the StartSigningJob +// 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 StartSigningJobRequest method. +// req, resp := client.StartSigningJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/StartSigningJob +func (c *Signer) StartSigningJobRequest(input *StartSigningJobInput) (req *request.Request, output *StartSigningJobOutput) { + op := &request.Operation{ + Name: opStartSigningJob, + HTTPMethod: "POST", + HTTPPath: "/signing-jobs", + } + + if input == nil { + input = &StartSigningJobInput{} + } + + output = &StartSigningJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartSigningJob API operation for AWS Signer. +// +// Initiates a signing job to be performed on the code provided. Signing jobs +// are viewable by the ListSigningJobs operation for two years after they are +// performed. Note the following requirements: +// +// * You must create an Amazon S3 source bucket. For more information, see +// Create a Bucket (http://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) +// in the Amazon S3 Getting Started Guide. +// +// * Your S3 source bucket must be version enabled. +// +// * You must create an S3 destination bucket. Code signing uses your S3 +// destination bucket to write your signed code. +// +// * You specify the name of the source and destination buckets when calling +// the StartSigningJob operation. +// +// * You must also specify a request token that identifies your request to +// code signing. +// +// You can call the DescribeSigningJob and the ListSigningJobs actions after +// you call StartSigningJob. +// +// For a Java example that shows how to use this action, see http://docs.aws.amazon.com/acm/latest/userguide/ +// (http://docs.aws.amazon.com/acm/latest/userguide/) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Signer's +// API operation StartSigningJob for usage and error information. +// +// Returned Error Types: +// * ValidationException +// You signing certificate could not be validated. +// +// * ResourceNotFoundException +// A specified resource could not be found. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// Instead of this error, TooManyRequestsException should be used. +// +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// +// * InternalServiceErrorException +// An internal error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/StartSigningJob +func (c *Signer) StartSigningJob(input *StartSigningJobInput) (*StartSigningJobOutput, error) { + req, out := c.StartSigningJobRequest(input) + return out, req.Send() +} + +// StartSigningJobWithContext is the same as StartSigningJob with the addition of +// the ability to pass a context and additional request options. +// +// See StartSigningJob 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 *Signer) StartSigningJobWithContext(ctx aws.Context, input *StartSigningJobInput, opts ...request.Option) (*StartSigningJobOutput, error) { + req, out := c.StartSigningJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + 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/signer-2017-08-25/TagResource +func (c *Signer) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Signer. +// +// Adds one or more tags to a signing profile. Tags are labels that you can +// use to identify and organize your AWS resources. Each tag consists of a key +// and an optional value. To specify the signing profile, use its Amazon Resource +// Name (ARN). To specify the tag, use a key-value pair. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Signer's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * InternalServiceErrorException +// An internal error occurred. +// +// * BadRequestException +// The request contains invalid parameters for the ARN or tags. This exception +// also occurs when you call a tagging API on a cancelled signing profile. +// +// * NotFoundException +// The signing profile was not found. +// +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/TagResource +func (c *Signer) 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 *Signer) 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() @@ -1265,6 +1783,11 @@ func (c *Signer) UntagResourceRequest(input *UntagResourceInput) (req *request.R // * NotFoundException // The signing profile was not found. // +// * TooManyRequestsException +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/UntagResource func (c *Signer) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) @@ -1287,60 +1810,190 @@ func (c *Signer) UntagResourceWithContext(ctx aws.Context, input *UntagResourceI return out, req.Send() } -// You do not have sufficient access to perform this action. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type AddProfilePermissionInput struct { + _ struct{} `type:"structure"` + + // The AWS Signer action permitted as part of cross-account permissions. + // + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true"` + + // The AWS principal receiving cross-account permissions. This may be an IAM + // role or another AWS account ID. + // + // Principal is a required field + Principal *string `locationName:"principal" type:"string" required:"true"` + + // The human-readable name of the signing profile. + // + // ProfileName is a required field + ProfileName *string `location:"uri" locationName:"profileName" min:"2" type:"string" required:"true"` + + // The version of the signing profile. + ProfileVersion *string `locationName:"profileVersion" min:"10" type:"string"` - Message_ *string `locationName:"message" type:"string"` + // A unique identifier for the current profile revision. + RevisionId *string `locationName:"revisionId" type:"string"` + + // A unique identifier for the cross-account permission statement. + // + // StatementId is a required field + StatementId *string `locationName:"statementId" type:"string" required:"true"` } // String returns the string representation -func (s AccessDeniedException) String() string { +func (s AddProfilePermissionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AccessDeniedException) GoString() string { +func (s AddProfilePermissionInput) GoString() string { return s.String() } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddProfilePermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddProfilePermissionInput"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } + if s.Principal == nil { + invalidParams.Add(request.NewErrParamRequired("Principal")) + } + if s.ProfileName == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileName")) + } + if s.ProfileName != nil && len(*s.ProfileName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProfileName", 2)) + } + if s.ProfileVersion != nil && len(*s.ProfileVersion) < 10 { + invalidParams.Add(request.NewErrParamMinLen("ProfileVersion", 10)) + } + if s.StatementId == nil { + invalidParams.Add(request.NewErrParamRequired("StatementId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" +// SetAction sets the Action field's value. +func (s *AddProfilePermissionInput) SetAction(v string) *AddProfilePermissionInput { + s.Action = &v + return s } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetPrincipal sets the Principal field's value. +func (s *AddProfilePermissionInput) SetPrincipal(v string) *AddProfilePermissionInput { + s.Principal = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil +// SetProfileName sets the ProfileName field's value. +func (s *AddProfilePermissionInput) SetProfileName(v string) *AddProfilePermissionInput { + s.ProfileName = &v + return s } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetProfileVersion sets the ProfileVersion field's value. +func (s *AddProfilePermissionInput) SetProfileVersion(v string) *AddProfilePermissionInput { + s.ProfileVersion = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRevisionId sets the RevisionId field's value. +func (s *AddProfilePermissionInput) SetRevisionId(v string) *AddProfilePermissionInput { + s.RevisionId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatementId sets the StatementId field's value. +func (s *AddProfilePermissionInput) SetStatementId(v string) *AddProfilePermissionInput { + s.StatementId = &v + return s +} + +type AddProfilePermissionOutput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the current profile revision. + RevisionId *string `locationName:"revisionId" type:"string"` +} + +// String returns the string representation +func (s AddProfilePermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddProfilePermissionOutput) GoString() string { + return s.String() +} + +// SetRevisionId sets the RevisionId field's value. +func (s *AddProfilePermissionOutput) SetRevisionId(v string) *AddProfilePermissionOutput { + s.RevisionId = &v + return s } // The request contains invalid parameters for the ARN or tags. This exception @@ -1349,6 +2002,8 @@ type BadRequestException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + Code_ *string `locationName:"code" type:"string"` + Message_ *string `locationName:"message" type:"string"` } @@ -1387,7 +2042,7 @@ func (s *BadRequestException) OrigErr() error { } func (s *BadRequestException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. @@ -1455,6 +2110,64 @@ func (s CancelSigningProfileOutput) GoString() string { return s.String() } +// The resource encountered a conflicting state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + type DescribeSigningJobInput struct { _ struct{} `type:"structure"` @@ -1508,18 +2221,39 @@ type DescribeSigningJobOutput struct { // The ID of the signing job on output. JobId *string `locationName:"jobId" type:"string"` + // The IAM entity that initiated the signing job. + JobInvoker *string `locationName:"jobInvoker" min:"12" type:"string"` + + // The AWS account ID of the job owner. + JobOwner *string `locationName:"jobOwner" min:"12" type:"string"` + // A list of any overrides that were applied to the signing operation. Overrides *SigningPlatformOverrides `locationName:"overrides" type:"structure"` + // A human-readable name for the signing platform associated with the signing + // job. + PlatformDisplayName *string `locationName:"platformDisplayName" type:"string"` + // The microcontroller platform to which your signed code image will be distributed. PlatformId *string `locationName:"platformId" type:"string"` // The name of the profile that initiated the signing operation. ProfileName *string `locationName:"profileName" min:"2" type:"string"` + // The version of the signing profile used to initiate the signing job. + ProfileVersion *string `locationName:"profileVersion" min:"10" type:"string"` + // The IAM principal that requested the signing job. RequestedBy *string `locationName:"requestedBy" type:"string"` + // A revocation record if the signature generated by the signing job has been + // revoked. Contains a timestamp and the ID of the IAM entity that revoked the + // signature. + RevocationRecord *SigningJobRevocationRecord `locationName:"revocationRecord" type:"structure"` + + // Thr expiration timestamp for the signature generated by the signing job. + SignatureExpiresAt *time.Time `locationName:"signatureExpiresAt" type:"timestamp"` + // Name of the S3 bucket where the signed code image is saved by code signing. SignedObject *SignedObject `locationName:"signedObject" type:"structure"` @@ -1568,12 +2302,30 @@ func (s *DescribeSigningJobOutput) SetJobId(v string) *DescribeSigningJobOutput return s } +// SetJobInvoker sets the JobInvoker field's value. +func (s *DescribeSigningJobOutput) SetJobInvoker(v string) *DescribeSigningJobOutput { + s.JobInvoker = &v + return s +} + +// SetJobOwner sets the JobOwner field's value. +func (s *DescribeSigningJobOutput) SetJobOwner(v string) *DescribeSigningJobOutput { + s.JobOwner = &v + return s +} + // SetOverrides sets the Overrides field's value. func (s *DescribeSigningJobOutput) SetOverrides(v *SigningPlatformOverrides) *DescribeSigningJobOutput { s.Overrides = v return s } +// SetPlatformDisplayName sets the PlatformDisplayName field's value. +func (s *DescribeSigningJobOutput) SetPlatformDisplayName(v string) *DescribeSigningJobOutput { + s.PlatformDisplayName = &v + return s +} + // SetPlatformId sets the PlatformId field's value. func (s *DescribeSigningJobOutput) SetPlatformId(v string) *DescribeSigningJobOutput { s.PlatformId = &v @@ -1586,12 +2338,30 @@ func (s *DescribeSigningJobOutput) SetProfileName(v string) *DescribeSigningJobO return s } +// SetProfileVersion sets the ProfileVersion field's value. +func (s *DescribeSigningJobOutput) SetProfileVersion(v string) *DescribeSigningJobOutput { + s.ProfileVersion = &v + return s +} + // SetRequestedBy sets the RequestedBy field's value. func (s *DescribeSigningJobOutput) SetRequestedBy(v string) *DescribeSigningJobOutput { s.RequestedBy = &v return s } +// SetRevocationRecord sets the RevocationRecord field's value. +func (s *DescribeSigningJobOutput) SetRevocationRecord(v *SigningJobRevocationRecord) *DescribeSigningJobOutput { + s.RevocationRecord = v + return s +} + +// SetSignatureExpiresAt sets the SignatureExpiresAt field's value. +func (s *DescribeSigningJobOutput) SetSignatureExpiresAt(v time.Time) *DescribeSigningJobOutput { + s.SignatureExpiresAt = &v + return s +} + // SetSignedObject sets the SignedObject field's value. func (s *DescribeSigningJobOutput) SetSignedObject(v *SignedObject) *DescribeSigningJobOutput { s.SignedObject = v @@ -1751,6 +2521,10 @@ type GetSigningPlatformOutput struct { // The ID of the target signing platform. PlatformId *string `locationName:"platformId" type:"string"` + // A flag indicating whether signatures generated for the signing platform can + // be revoked. + RevocationSupported *bool `locationName:"revocationSupported" type:"boolean"` + // A list of configurations applied to the target platform at signing. SigningConfiguration *SigningConfiguration `locationName:"signingConfiguration" type:"structure"` @@ -1801,6 +2575,12 @@ func (s *GetSigningPlatformOutput) SetPlatformId(v string) *GetSigningPlatformOu return s } +// SetRevocationSupported sets the RevocationSupported field's value. +func (s *GetSigningPlatformOutput) SetRevocationSupported(v bool) *GetSigningPlatformOutput { + s.RevocationSupported = &v + return s +} + // SetSigningConfiguration sets the SigningConfiguration field's value. func (s *GetSigningPlatformOutput) SetSigningConfiguration(v *SigningConfiguration) *GetSigningPlatformOutput { s.SigningConfiguration = v @@ -1826,6 +2606,9 @@ type GetSigningProfileInput struct { // // ProfileName is a required field ProfileName *string `location:"uri" locationName:"profileName" min:"2" type:"string" required:"true"` + + // The AWS account ID of the profile owner. + ProfileOwner *string `location:"querystring" locationName:"profileOwner" min:"12" type:"string"` } // String returns the string representation @@ -1847,6 +2630,9 @@ func (s *GetSigningProfileInput) Validate() error { if s.ProfileName != nil && len(*s.ProfileName) < 2 { invalidParams.Add(request.NewErrParamMinLen("ProfileName", 2)) } + if s.ProfileOwner != nil && len(*s.ProfileOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("ProfileOwner", 12)) + } if invalidParams.Len() > 0 { return invalidParams @@ -1860,6 +2646,12 @@ func (s *GetSigningProfileInput) SetProfileName(v string) *GetSigningProfileInpu return s } +// SetProfileOwner sets the ProfileOwner field's value. +func (s *GetSigningProfileInput) SetProfileOwner(v string) *GetSigningProfileInput { + s.ProfileOwner = &v + return s +} + type GetSigningProfileOutput struct { _ struct{} `type:"structure"` @@ -1869,12 +2661,28 @@ type GetSigningProfileOutput struct { // A list of overrides applied by the target signing profile for signing operations. Overrides *SigningPlatformOverrides `locationName:"overrides" type:"structure"` + // A human-readable name for the signing platform associated with the signing + // profile. + PlatformDisplayName *string `locationName:"platformDisplayName" type:"string"` + // The ID of the platform that is used by the target signing profile. PlatformId *string `locationName:"platformId" type:"string"` // The name of the target signing profile. ProfileName *string `locationName:"profileName" min:"2" type:"string"` + // The current version of the signing profile. + ProfileVersion *string `locationName:"profileVersion" min:"10" type:"string"` + + // The signing profile ARN, including the profile version. + ProfileVersionArn *string `locationName:"profileVersionArn" min:"20" type:"string"` + + // Revocation information for a signing profile. + RevocationRecord *SigningProfileRevocationRecord `locationName:"revocationRecord" type:"structure"` + + // The validity period for a signing job. + SignatureValidityPeriod *SignatureValidityPeriod `locationName:"signatureValidityPeriod" type:"structure"` + // The ARN of the certificate that the target profile uses for signing operations. SigningMaterial *SigningMaterial `locationName:"signingMaterial" type:"structure"` @@ -1885,6 +2693,9 @@ type GetSigningProfileOutput struct { // The status of the target signing profile. Status *string `locationName:"status" type:"string" enum:"SigningProfileStatus"` + // Reason for the status of the target signing profile. + StatusReason *string `locationName:"statusReason" type:"string"` + // A list of tags associated with the signing profile. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } @@ -1911,6 +2722,12 @@ func (s *GetSigningProfileOutput) SetOverrides(v *SigningPlatformOverrides) *Get return s } +// SetPlatformDisplayName sets the PlatformDisplayName field's value. +func (s *GetSigningProfileOutput) SetPlatformDisplayName(v string) *GetSigningProfileOutput { + s.PlatformDisplayName = &v + return s +} + // SetPlatformId sets the PlatformId field's value. func (s *GetSigningProfileOutput) SetPlatformId(v string) *GetSigningProfileOutput { s.PlatformId = &v @@ -1923,6 +2740,30 @@ func (s *GetSigningProfileOutput) SetProfileName(v string) *GetSigningProfileOut return s } +// SetProfileVersion sets the ProfileVersion field's value. +func (s *GetSigningProfileOutput) SetProfileVersion(v string) *GetSigningProfileOutput { + s.ProfileVersion = &v + return s +} + +// SetProfileVersionArn sets the ProfileVersionArn field's value. +func (s *GetSigningProfileOutput) SetProfileVersionArn(v string) *GetSigningProfileOutput { + s.ProfileVersionArn = &v + return s +} + +// SetRevocationRecord sets the RevocationRecord field's value. +func (s *GetSigningProfileOutput) SetRevocationRecord(v *SigningProfileRevocationRecord) *GetSigningProfileOutput { + s.RevocationRecord = v + return s +} + +// SetSignatureValidityPeriod sets the SignatureValidityPeriod field's value. +func (s *GetSigningProfileOutput) SetSignatureValidityPeriod(v *SignatureValidityPeriod) *GetSigningProfileOutput { + s.SignatureValidityPeriod = v + return s +} + // SetSigningMaterial sets the SigningMaterial field's value. func (s *GetSigningProfileOutput) SetSigningMaterial(v *SigningMaterial) *GetSigningProfileOutput { s.SigningMaterial = v @@ -1941,6 +2782,12 @@ func (s *GetSigningProfileOutput) SetStatus(v string) *GetSigningProfileOutput { return s } +// SetStatusReason sets the StatusReason field's value. +func (s *GetSigningProfileOutput) SetStatusReason(v string) *GetSigningProfileOutput { + s.StatusReason = &v + return s +} + // SetTags sets the Tags field's value. func (s *GetSigningProfileOutput) SetTags(v map[string]*string) *GetSigningProfileOutput { s.Tags = v @@ -1989,6 +2836,8 @@ type InternalServiceErrorException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + Code_ *string `locationName:"code" type:"string"` + Message_ *string `locationName:"message" type:"string"` } @@ -2027,7 +2876,7 @@ func (s *InternalServiceErrorException) OrigErr() error { } func (s *InternalServiceErrorException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. @@ -2040,9 +2889,116 @@ func (s *InternalServiceErrorException) RequestID() string { return s.RespMetadata.RequestID } +type ListProfilePermissionsInput struct { + _ struct{} `type:"structure"` + + // String for specifying the next set of paginated results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // Name of the signing profile containing the cross-account permissions. + // + // ProfileName is a required field + ProfileName *string `location:"uri" locationName:"profileName" min:"2" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListProfilePermissionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProfilePermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProfilePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProfilePermissionsInput"} + if s.ProfileName == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileName")) + } + if s.ProfileName != nil && len(*s.ProfileName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProfileName", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProfilePermissionsInput) SetNextToken(v string) *ListProfilePermissionsInput { + s.NextToken = &v + return s +} + +// SetProfileName sets the ProfileName field's value. +func (s *ListProfilePermissionsInput) SetProfileName(v string) *ListProfilePermissionsInput { + s.ProfileName = &v + return s +} + +type ListProfilePermissionsOutput struct { + _ struct{} `type:"structure"` + + // String for specifying the next set of paginated results. + NextToken *string `locationName:"nextToken" type:"string"` + + // List of permissions associated with the Signing Profile. + Permissions []*Permission `locationName:"permissions" type:"list"` + + // Total size of the policy associated with the Signing Profile in bytes. + PolicySizeBytes *int64 `locationName:"policySizeBytes" type:"integer"` + + // The identifier for the current revision of profile permissions. + RevisionId *string `locationName:"revisionId" type:"string"` +} + +// String returns the string representation +func (s ListProfilePermissionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProfilePermissionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProfilePermissionsOutput) SetNextToken(v string) *ListProfilePermissionsOutput { + s.NextToken = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *ListProfilePermissionsOutput) SetPermissions(v []*Permission) *ListProfilePermissionsOutput { + s.Permissions = v + return s +} + +// SetPolicySizeBytes sets the PolicySizeBytes field's value. +func (s *ListProfilePermissionsOutput) SetPolicySizeBytes(v int64) *ListProfilePermissionsOutput { + s.PolicySizeBytes = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *ListProfilePermissionsOutput) SetRevisionId(v string) *ListProfilePermissionsOutput { + s.RevisionId = &v + return s +} + type ListSigningJobsInput struct { _ struct{} `type:"structure"` + // Filters results to return only signing jobs with revoked signatures. + IsRevoked *bool `location:"querystring" locationName:"isRevoked" type:"boolean"` + + // Filters results to return only signing jobs initiated by a specified IAM + // entity. + JobInvoker *string `location:"querystring" locationName:"jobInvoker" min:"12" type:"string"` + // Specifies the maximum number of items to return in the response. Use this // parameter when paginating results. If additional items exist beyond the number // you specify, the nextToken element is set in the response. Use the nextToken @@ -2062,6 +3018,14 @@ type ListSigningJobsInput struct { // The IAM principal that requested the signing job. RequestedBy *string `location:"querystring" locationName:"requestedBy" type:"string"` + // Filters results to return only signing jobs with signatures expiring after + // a specified timestamp. + SignatureExpiresAfter *time.Time `location:"querystring" locationName:"signatureExpiresAfter" type:"timestamp"` + + // Filters results to return only signing jobs with signatures expiring before + // a specified timestamp. + SignatureExpiresBefore *time.Time `location:"querystring" locationName:"signatureExpiresBefore" type:"timestamp"` + // A status value with which to filter your results. Status *string `location:"querystring" locationName:"status" type:"string" enum:"SigningStatus"` } @@ -2079,6 +3043,9 @@ func (s ListSigningJobsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListSigningJobsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListSigningJobsInput"} + if s.JobInvoker != nil && len(*s.JobInvoker) < 12 { + invalidParams.Add(request.NewErrParamMinLen("JobInvoker", 12)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -2089,6 +3056,18 @@ func (s *ListSigningJobsInput) Validate() error { return nil } +// SetIsRevoked sets the IsRevoked field's value. +func (s *ListSigningJobsInput) SetIsRevoked(v bool) *ListSigningJobsInput { + s.IsRevoked = &v + return s +} + +// SetJobInvoker sets the JobInvoker field's value. +func (s *ListSigningJobsInput) SetJobInvoker(v string) *ListSigningJobsInput { + s.JobInvoker = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListSigningJobsInput) SetMaxResults(v int64) *ListSigningJobsInput { s.MaxResults = &v @@ -2113,6 +3092,18 @@ func (s *ListSigningJobsInput) SetRequestedBy(v string) *ListSigningJobsInput { return s } +// SetSignatureExpiresAfter sets the SignatureExpiresAfter field's value. +func (s *ListSigningJobsInput) SetSignatureExpiresAfter(v time.Time) *ListSigningJobsInput { + s.SignatureExpiresAfter = &v + return s +} + +// SetSignatureExpiresBefore sets the SignatureExpiresBefore field's value. +func (s *ListSigningJobsInput) SetSignatureExpiresBefore(v time.Time) *ListSigningJobsInput { + s.SignatureExpiresBefore = &v + return s +} + // SetStatus sets the Status field's value. func (s *ListSigningJobsInput) SetStatus(v string) *ListSigningJobsInput { s.Status = &v @@ -2272,6 +3263,14 @@ type ListSigningProfilesInput struct { // request. Set it to the value of nextToken from the response that you just // received. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // Filters results to return only signing jobs initiated for a specified signing + // platform. + PlatformId *string `location:"querystring" locationName:"platformId" type:"string"` + + // Filters results to return only signing jobs with statuses in the specified + // list. + Statuses []*string `location:"querystring" locationName:"statuses" type:"list"` } // String returns the string representation @@ -2315,6 +3314,18 @@ func (s *ListSigningProfilesInput) SetNextToken(v string) *ListSigningProfilesIn return s } +// SetPlatformId sets the PlatformId field's value. +func (s *ListSigningProfilesInput) SetPlatformId(v string) *ListSigningProfilesInput { + s.PlatformId = &v + return s +} + +// SetStatuses sets the Statuses field's value. +func (s *ListSigningProfilesInput) SetStatuses(v []*string) *ListSigningProfilesInput { + s.Statuses = v + return s +} + type ListSigningProfilesOutput struct { _ struct{} `type:"structure"` @@ -2417,6 +3428,8 @@ type NotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + Code_ *string `locationName:"code" type:"string"` + Message_ *string `locationName:"message" type:"string"` } @@ -2455,7 +3468,7 @@ func (s *NotFoundException) OrigErr() error { } func (s *NotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. @@ -2468,6 +3481,57 @@ func (s *NotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// A cross-account permission for a signing profile. +type Permission struct { + _ struct{} `type:"structure"` + + // An AWS Signer action permitted as part of cross-account permissions. + Action *string `locationName:"action" type:"string"` + + // The AWS principal that has been granted a cross-account permission. + Principal *string `locationName:"principal" type:"string"` + + // The signing profile version that a permission applies to. + ProfileVersion *string `locationName:"profileVersion" min:"10" type:"string"` + + // A unique identifier for a cross-account permission statement. + StatementId *string `locationName:"statementId" type:"string"` +} + +// String returns the string representation +func (s Permission) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Permission) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *Permission) SetAction(v string) *Permission { + s.Action = &v + return s +} + +// SetPrincipal sets the Principal field's value. +func (s *Permission) SetPrincipal(v string) *Permission { + s.Principal = &v + return s +} + +// SetProfileVersion sets the ProfileVersion field's value. +func (s *Permission) SetProfileVersion(v string) *Permission { + s.ProfileVersion = &v + return s +} + +// SetStatementId sets the StatementId field's value. +func (s *Permission) SetStatementId(v string) *Permission { + s.StatementId = &v + return s +} + type PutSigningProfileInput struct { _ struct{} `type:"structure"` @@ -2486,11 +3550,13 @@ type PutSigningProfileInput struct { // ProfileName is a required field ProfileName *string `location:"uri" locationName:"profileName" min:"2" type:"string" required:"true"` + // The default validity period override for any signature generated using this + // signing profile. If unspecified, the default is 135 months. + SignatureValidityPeriod *SignatureValidityPeriod `locationName:"signatureValidityPeriod" type:"structure"` + // The AWS Certificate Manager certificate that will be used to sign code with // the new signing profile. - // - // SigningMaterial is a required field - SigningMaterial *SigningMaterial `locationName:"signingMaterial" type:"structure" required:"true"` + SigningMaterial *SigningMaterial `locationName:"signingMaterial" type:"structure"` // Map of key-value pairs for signing. These can include any information that // you want to use during signing. @@ -2522,9 +3588,6 @@ func (s *PutSigningProfileInput) Validate() error { if s.ProfileName != nil && len(*s.ProfileName) < 2 { invalidParams.Add(request.NewErrParamMinLen("ProfileName", 2)) } - if s.SigningMaterial == nil { - invalidParams.Add(request.NewErrParamRequired("SigningMaterial")) - } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } @@ -2558,6 +3621,12 @@ func (s *PutSigningProfileInput) SetProfileName(v string) *PutSigningProfileInpu return s } +// SetSignatureValidityPeriod sets the SignatureValidityPeriod field's value. +func (s *PutSigningProfileInput) SetSignatureValidityPeriod(v *SignatureValidityPeriod) *PutSigningProfileInput { + s.SignatureValidityPeriod = v + return s +} + // SetSigningMaterial sets the SigningMaterial field's value. func (s *PutSigningProfileInput) SetSigningMaterial(v *SigningMaterial) *PutSigningProfileInput { s.SigningMaterial = v @@ -2581,6 +3650,12 @@ type PutSigningProfileOutput struct { // The Amazon Resource Name (ARN) of the signing profile created. Arn *string `locationName:"arn" type:"string"` + + // The version of the signing profile being created. + ProfileVersion *string `locationName:"profileVersion" min:"10" type:"string"` + + // The signing profile ARN, including the profile version. + ProfileVersionArn *string `locationName:"profileVersionArn" min:"20" type:"string"` } // String returns the string representation @@ -2599,11 +3674,120 @@ func (s *PutSigningProfileOutput) SetArn(v string) *PutSigningProfileOutput { return s } +// SetProfileVersion sets the ProfileVersion field's value. +func (s *PutSigningProfileOutput) SetProfileVersion(v string) *PutSigningProfileOutput { + s.ProfileVersion = &v + return s +} + +// SetProfileVersionArn sets the ProfileVersionArn field's value. +func (s *PutSigningProfileOutput) SetProfileVersionArn(v string) *PutSigningProfileOutput { + s.ProfileVersionArn = &v + return s +} + +type RemoveProfilePermissionInput struct { + _ struct{} `type:"structure"` + + // A human-readable name for the signing profile with permissions to be removed. + // + // ProfileName is a required field + ProfileName *string `location:"uri" locationName:"profileName" min:"2" type:"string" required:"true"` + + // An identifier for the current revision of the signing profile permissions. + // + // RevisionId is a required field + RevisionId *string `location:"querystring" locationName:"revisionId" type:"string" required:"true"` + + // A unique identifier for the cross-account permissions statement. + // + // StatementId is a required field + StatementId *string `location:"uri" locationName:"statementId" type:"string" required:"true"` +} + +// String returns the string representation +func (s RemoveProfilePermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveProfilePermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveProfilePermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveProfilePermissionInput"} + if s.ProfileName == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileName")) + } + if s.ProfileName != nil && len(*s.ProfileName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProfileName", 2)) + } + if s.RevisionId == nil { + invalidParams.Add(request.NewErrParamRequired("RevisionId")) + } + if s.StatementId == nil { + invalidParams.Add(request.NewErrParamRequired("StatementId")) + } + if s.StatementId != nil && len(*s.StatementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StatementId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileName sets the ProfileName field's value. +func (s *RemoveProfilePermissionInput) SetProfileName(v string) *RemoveProfilePermissionInput { + s.ProfileName = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *RemoveProfilePermissionInput) SetRevisionId(v string) *RemoveProfilePermissionInput { + s.RevisionId = &v + return s +} + +// SetStatementId sets the StatementId field's value. +func (s *RemoveProfilePermissionInput) SetStatementId(v string) *RemoveProfilePermissionInput { + s.StatementId = &v + return s +} + +type RemoveProfilePermissionOutput struct { + _ struct{} `type:"structure"` + + // An identifier for the current revision of the profile permissions. + RevisionId *string `locationName:"revisionId" type:"string"` +} + +// String returns the string representation +func (s RemoveProfilePermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveProfilePermissionOutput) GoString() string { + return s.String() +} + +// SetRevisionId sets the RevisionId field's value. +func (s *RemoveProfilePermissionOutput) SetRevisionId(v string) *RemoveProfilePermissionOutput { + s.RevisionId = &v + return s +} + // A specified resource could not be found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + Code_ *string `locationName:"code" type:"string"` + Message_ *string `locationName:"message" type:"string"` } @@ -2636,23 +3820,212 @@ func (s *ResourceNotFoundException) Message() string { return "" } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { - return nil +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +type RevokeSignatureInput struct { + _ struct{} `type:"structure"` + + // ID of the signing job to be revoked. + // + // JobId is a required field + JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` + + // AWS account ID of the job owner. + JobOwner *string `locationName:"jobOwner" min:"12" type:"string"` + + // The reason for revoking the signing job. + // + // Reason is a required field + Reason *string `locationName:"reason" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RevokeSignatureInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeSignatureInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RevokeSignatureInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RevokeSignatureInput"} + if s.JobId == nil { + invalidParams.Add(request.NewErrParamRequired("JobId")) + } + if s.JobId != nil && len(*s.JobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) + } + if s.JobOwner != nil && len(*s.JobOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("JobOwner", 12)) + } + if s.Reason == nil { + invalidParams.Add(request.NewErrParamRequired("Reason")) + } + if s.Reason != nil && len(*s.Reason) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Reason", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobId sets the JobId field's value. +func (s *RevokeSignatureInput) SetJobId(v string) *RevokeSignatureInput { + s.JobId = &v + return s +} + +// SetJobOwner sets the JobOwner field's value. +func (s *RevokeSignatureInput) SetJobOwner(v string) *RevokeSignatureInput { + s.JobOwner = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *RevokeSignatureInput) SetReason(v string) *RevokeSignatureInput { + s.Reason = &v + return s +} + +type RevokeSignatureOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RevokeSignatureOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeSignatureOutput) GoString() string { + return s.String() +} + +type RevokeSigningProfileInput struct { + _ struct{} `type:"structure"` + + // A timestamp for when revocation of a Signing Profile should become effective. + // Signatures generated using the signing profile after this timestamp are not + // trusted. + // + // EffectiveTime is a required field + EffectiveTime *time.Time `locationName:"effectiveTime" type:"timestamp" required:"true"` + + // The name of the signing profile to be revoked. + // + // ProfileName is a required field + ProfileName *string `location:"uri" locationName:"profileName" min:"2" type:"string" required:"true"` + + // The version of the signing profile to be revoked. + // + // ProfileVersion is a required field + ProfileVersion *string `locationName:"profileVersion" min:"10" type:"string" required:"true"` + + // The reason for revoking a signing profile. + // + // Reason is a required field + Reason *string `locationName:"reason" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RevokeSigningProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeSigningProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RevokeSigningProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RevokeSigningProfileInput"} + if s.EffectiveTime == nil { + invalidParams.Add(request.NewErrParamRequired("EffectiveTime")) + } + if s.ProfileName == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileName")) + } + if s.ProfileName != nil && len(*s.ProfileName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProfileName", 2)) + } + if s.ProfileVersion == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileVersion")) + } + if s.ProfileVersion != nil && len(*s.ProfileVersion) < 10 { + invalidParams.Add(request.NewErrParamMinLen("ProfileVersion", 10)) + } + if s.Reason == nil { + invalidParams.Add(request.NewErrParamRequired("Reason")) + } + if s.Reason != nil && len(*s.Reason) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Reason", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEffectiveTime sets the EffectiveTime field's value. +func (s *RevokeSigningProfileInput) SetEffectiveTime(v time.Time) *RevokeSigningProfileInput { + s.EffectiveTime = &v + return s +} + +// SetProfileName sets the ProfileName field's value. +func (s *RevokeSigningProfileInput) SetProfileName(v string) *RevokeSigningProfileInput { + s.ProfileName = &v + return s +} + +// SetProfileVersion sets the ProfileVersion field's value. +func (s *RevokeSigningProfileInput) SetProfileVersion(v string) *RevokeSigningProfileInput { + s.ProfileVersion = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *RevokeSigningProfileInput) SetReason(v string) *RevokeSigningProfileInput { + s.Reason = &v + return s } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type RevokeSigningProfileOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s RevokeSigningProfileOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s RevokeSigningProfileOutput) GoString() string { + return s.String() } // The name and prefix of the S3 bucket where code signing saves your signed @@ -2790,6 +4163,97 @@ func (s *S3Source) SetVersion(v string) *S3Source { return s } +// The client is making a request that exceeds service limits. +type ServiceLimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ServiceLimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceLimitExceededException) GoString() string { + return s.String() +} + +func newErrorServiceLimitExceededException(v protocol.ResponseMetadata) error { + return &ServiceLimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceLimitExceededException) Code() string { + return "ServiceLimitExceededException" +} + +// Message returns the exception's message. +func (s *ServiceLimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceLimitExceededException) OrigErr() error { + return nil +} + +func (s *ServiceLimitExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceLimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceLimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The validity period for a signing job. +type SignatureValidityPeriod struct { + _ struct{} `type:"structure"` + + // The time unit for signature validity. + Type *string `locationName:"type" type:"string" enum:"ValidityType"` + + // The numerical value of the time unit for signature validity. + Value *int64 `locationName:"value" type:"integer"` +} + +// String returns the string representation +func (s SignatureValidityPeriod) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SignatureValidityPeriod) GoString() string { + return s.String() +} + +// SetType sets the Type field's value. +func (s *SignatureValidityPeriod) SetType(v string) *SignatureValidityPeriod { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *SignatureValidityPeriod) SetValue(v int64) *SignatureValidityPeriod { + s.Value = &v + return s +} + // Points to an S3SignedObject object that contains information about your signed // code image. type SignedObject struct { @@ -2932,9 +4396,33 @@ type SigningJob struct { // The date and time that the signing job was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // Indicates whether the signing job is revoked. + IsRevoked *bool `locationName:"isRevoked" type:"boolean"` + // The ID of the signing job. JobId *string `locationName:"jobId" type:"string"` + // The AWS account ID of the job invoker. + JobInvoker *string `locationName:"jobInvoker" min:"12" type:"string"` + + // The AWS account ID of the job owner. + JobOwner *string `locationName:"jobOwner" min:"12" type:"string"` + + // The name of a signing platform. + PlatformDisplayName *string `locationName:"platformDisplayName" type:"string"` + + // The unique identifier for a signing platform. + PlatformId *string `locationName:"platformId" type:"string"` + + // The name of the signing profile that created a signing job. + ProfileName *string `locationName:"profileName" min:"2" type:"string"` + + // The version of the signing profile that created a signing job. + ProfileVersion *string `locationName:"profileVersion" min:"10" type:"string"` + + // The time when the signature of a signing job expires. + SignatureExpiresAt *time.Time `locationName:"signatureExpiresAt" type:"timestamp"` + // A SignedObject structure that contains information about a signing job's // signed code image. SignedObject *SignedObject `locationName:"signedObject" type:"structure"` @@ -2966,12 +4454,60 @@ func (s *SigningJob) SetCreatedAt(v time.Time) *SigningJob { return s } +// SetIsRevoked sets the IsRevoked field's value. +func (s *SigningJob) SetIsRevoked(v bool) *SigningJob { + s.IsRevoked = &v + return s +} + // SetJobId sets the JobId field's value. func (s *SigningJob) SetJobId(v string) *SigningJob { s.JobId = &v return s } +// SetJobInvoker sets the JobInvoker field's value. +func (s *SigningJob) SetJobInvoker(v string) *SigningJob { + s.JobInvoker = &v + return s +} + +// SetJobOwner sets the JobOwner field's value. +func (s *SigningJob) SetJobOwner(v string) *SigningJob { + s.JobOwner = &v + return s +} + +// SetPlatformDisplayName sets the PlatformDisplayName field's value. +func (s *SigningJob) SetPlatformDisplayName(v string) *SigningJob { + s.PlatformDisplayName = &v + return s +} + +// SetPlatformId sets the PlatformId field's value. +func (s *SigningJob) SetPlatformId(v string) *SigningJob { + s.PlatformId = &v + return s +} + +// SetProfileName sets the ProfileName field's value. +func (s *SigningJob) SetProfileName(v string) *SigningJob { + s.ProfileName = &v + return s +} + +// SetProfileVersion sets the ProfileVersion field's value. +func (s *SigningJob) SetProfileVersion(v string) *SigningJob { + s.ProfileVersion = &v + return s +} + +// SetSignatureExpiresAt sets the SignatureExpiresAt field's value. +func (s *SigningJob) SetSignatureExpiresAt(v time.Time) *SigningJob { + s.SignatureExpiresAt = &v + return s +} + // SetSignedObject sets the SignedObject field's value. func (s *SigningJob) SetSignedObject(v *SignedObject) *SigningJob { s.SignedObject = v @@ -2996,6 +4532,48 @@ func (s *SigningJob) SetStatus(v string) *SigningJob { return s } +// Revocation information for a signing job. +type SigningJobRevocationRecord struct { + _ struct{} `type:"structure"` + + // A caller-supplied reason for revocation. + Reason *string `locationName:"reason" type:"string"` + + // The time of revocation. + RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"` + + // The identity of the revoker. + RevokedBy *string `locationName:"revokedBy" type:"string"` +} + +// String returns the string representation +func (s SigningJobRevocationRecord) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SigningJobRevocationRecord) GoString() string { + return s.String() +} + +// SetReason sets the Reason field's value. +func (s *SigningJobRevocationRecord) SetReason(v string) *SigningJobRevocationRecord { + s.Reason = &v + return s +} + +// SetRevokedAt sets the RevokedAt field's value. +func (s *SigningJobRevocationRecord) SetRevokedAt(v time.Time) *SigningJobRevocationRecord { + s.RevokedAt = &v + return s +} + +// SetRevokedBy sets the RevokedBy field's value. +func (s *SigningJobRevocationRecord) SetRevokedBy(v string) *SigningJobRevocationRecord { + s.RevokedBy = &v + return s +} + // The ACM certificate that is used to sign your code. type SigningMaterial struct { _ struct{} `type:"structure"` @@ -3056,6 +4634,9 @@ type SigningPlatform struct { // The ID of a code signing; platform. PlatformId *string `locationName:"platformId" type:"string"` + // Indicates whether revocation is supported for the platform. + RevocationSupported *bool `locationName:"revocationSupported" type:"boolean"` + // The configuration of a code signing platform. This includes the designated // hash algorithm and encryption algorithm of a signing platform. SigningConfiguration *SigningConfiguration `locationName:"signingConfiguration" type:"structure"` @@ -3107,6 +4688,12 @@ func (s *SigningPlatform) SetPlatformId(v string) *SigningPlatform { return s } +// SetRevocationSupported sets the RevocationSupported field's value. +func (s *SigningPlatform) SetRevocationSupported(v bool) *SigningPlatform { + s.RevocationSupported = &v + return s +} + // SetSigningConfiguration sets the SigningConfiguration field's value. func (s *SigningPlatform) SetSigningConfiguration(v *SigningConfiguration) *SigningPlatform { s.SigningConfiguration = v @@ -3172,12 +4759,24 @@ type SigningProfile struct { // The Amazon Resource Name (ARN) for the signing profile. Arn *string `locationName:"arn" type:"string"` + // The name of the signing platform. + PlatformDisplayName *string `locationName:"platformDisplayName" type:"string"` + // The ID of a platform that is available for use by a signing profile. PlatformId *string `locationName:"platformId" type:"string"` // The name of the signing profile. ProfileName *string `locationName:"profileName" min:"2" type:"string"` + // The version of a signing profile. + ProfileVersion *string `locationName:"profileVersion" min:"10" type:"string"` + + // The ARN of a signing profile, including the profile version. + ProfileVersionArn *string `locationName:"profileVersionArn" min:"20" type:"string"` + + // The validity period for a signing job created using this signing profile. + SignatureValidityPeriod *SignatureValidityPeriod `locationName:"signatureValidityPeriod" type:"structure"` + // The ACM certificate that is available for use by a signing profile. SigningMaterial *SigningMaterial `locationName:"signingMaterial" type:"structure"` @@ -3207,6 +4806,12 @@ func (s *SigningProfile) SetArn(v string) *SigningProfile { return s } +// SetPlatformDisplayName sets the PlatformDisplayName field's value. +func (s *SigningProfile) SetPlatformDisplayName(v string) *SigningProfile { + s.PlatformDisplayName = &v + return s +} + // SetPlatformId sets the PlatformId field's value. func (s *SigningProfile) SetPlatformId(v string) *SigningProfile { s.PlatformId = &v @@ -3219,6 +4824,24 @@ func (s *SigningProfile) SetProfileName(v string) *SigningProfile { return s } +// SetProfileVersion sets the ProfileVersion field's value. +func (s *SigningProfile) SetProfileVersion(v string) *SigningProfile { + s.ProfileVersion = &v + return s +} + +// SetProfileVersionArn sets the ProfileVersionArn field's value. +func (s *SigningProfile) SetProfileVersionArn(v string) *SigningProfile { + s.ProfileVersionArn = &v + return s +} + +// SetSignatureValidityPeriod sets the SignatureValidityPeriod field's value. +func (s *SigningProfile) SetSignatureValidityPeriod(v *SignatureValidityPeriod) *SigningProfile { + s.SignatureValidityPeriod = v + return s +} + // SetSigningMaterial sets the SigningMaterial field's value. func (s *SigningProfile) SetSigningMaterial(v *SigningMaterial) *SigningProfile { s.SigningMaterial = v @@ -3243,6 +4866,48 @@ func (s *SigningProfile) SetTags(v map[string]*string) *SigningProfile { return s } +// Revocation information for a signing profile. +type SigningProfileRevocationRecord struct { + _ struct{} `type:"structure"` + + // The time when revocation becomes effective. + RevocationEffectiveFrom *time.Time `locationName:"revocationEffectiveFrom" type:"timestamp"` + + // The time when the signing profile was revoked. + RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"` + + // The identity of the revoker. + RevokedBy *string `locationName:"revokedBy" type:"string"` +} + +// String returns the string representation +func (s SigningProfileRevocationRecord) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SigningProfileRevocationRecord) GoString() string { + return s.String() +} + +// SetRevocationEffectiveFrom sets the RevocationEffectiveFrom field's value. +func (s *SigningProfileRevocationRecord) SetRevocationEffectiveFrom(v time.Time) *SigningProfileRevocationRecord { + s.RevocationEffectiveFrom = &v + return s +} + +// SetRevokedAt sets the RevokedAt field's value. +func (s *SigningProfileRevocationRecord) SetRevokedAt(v time.Time) *SigningProfileRevocationRecord { + s.RevokedAt = &v + return s +} + +// SetRevokedBy sets the RevokedBy field's value. +func (s *SigningProfileRevocationRecord) SetRevokedBy(v string) *SigningProfileRevocationRecord { + s.RevokedBy = &v + return s +} + // An S3Source object that contains information about the S3 bucket where you // saved your unsigned code. type Source struct { @@ -3297,7 +4962,12 @@ type StartSigningJobInput struct { Destination *Destination `locationName:"destination" type:"structure" required:"true"` // The name of the signing profile. - ProfileName *string `locationName:"profileName" min:"2" type:"string"` + // + // ProfileName is a required field + ProfileName *string `locationName:"profileName" min:"2" type:"string" required:"true"` + + // The AWS account ID of the signing profile owner. + ProfileOwner *string `locationName:"profileOwner" min:"12" type:"string"` // The S3 bucket that contains the object to sign or a BLOB that contains your // raw code. @@ -3322,9 +4992,15 @@ func (s *StartSigningJobInput) Validate() error { if s.Destination == nil { invalidParams.Add(request.NewErrParamRequired("Destination")) } + if s.ProfileName == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileName")) + } if s.ProfileName != nil && len(*s.ProfileName) < 2 { invalidParams.Add(request.NewErrParamMinLen("ProfileName", 2)) } + if s.ProfileOwner != nil && len(*s.ProfileOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("ProfileOwner", 12)) + } if s.Source == nil { invalidParams.Add(request.NewErrParamRequired("Source")) } @@ -3358,6 +5034,12 @@ func (s *StartSigningJobInput) SetProfileName(v string) *StartSigningJobInput { return s } +// SetProfileOwner sets the ProfileOwner field's value. +func (s *StartSigningJobInput) SetProfileOwner(v string) *StartSigningJobInput { + s.ProfileOwner = &v + return s +} + // SetSource sets the Source field's value. func (s *StartSigningJobInput) SetSource(v *Source) *StartSigningJobInput { s.Source = v @@ -3369,6 +5051,9 @@ type StartSigningJobOutput struct { // The ID of your signing job. JobId *string `locationName:"jobId" type:"string"` + + // The AWS account ID of the signing job owner. + JobOwner *string `locationName:"jobOwner" min:"12" type:"string"` } // String returns the string representation @@ -3387,6 +5072,12 @@ func (s *StartSigningJobOutput) SetJobId(v string) *StartSigningJobOutput { return s } +// SetJobOwner sets the JobOwner field's value. +func (s *StartSigningJobOutput) SetJobOwner(v string) *StartSigningJobOutput { + s.JobOwner = &v + return s +} + type TagResourceInput struct { _ struct{} `type:"structure"` @@ -3459,11 +5150,17 @@ func (s TagResourceOutput) GoString() string { return s.String() } -// The signing job has been throttled. +// The request was denied due to request throttling. +// +// Instead of this error, TooManyRequestsException should be used. +// +// Deprecated: Instead of this error, TooManyRequestsException should be used. type ThrottlingException struct { - _ struct{} `type:"structure"` + _ struct{} `deprecated:"true" type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + Code_ *string `locationName:"code" type:"string"` + Message_ *string `locationName:"message" type:"string"` } @@ -3502,7 +5199,7 @@ func (s *ThrottlingException) OrigErr() error { } func (s *ThrottlingException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. @@ -3515,6 +5212,66 @@ func (s *ThrottlingException) RequestID() string { return s.RespMetadata.RequestID } +// The allowed number of job-signing requests has been exceeded. +// +// This error supersedes the error ThrottlingException. +type TooManyRequestsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s TooManyRequestsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TooManyRequestsException) GoString() string { + return s.String() +} + +func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { + return &TooManyRequestsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyRequestsException) Code() string { + return "TooManyRequestsException" +} + +// Message returns the exception's message. +func (s *TooManyRequestsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyRequestsException) OrigErr() error { + return nil +} + +func (s *TooManyRequestsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TooManyRequestsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyRequestsException) RequestID() string { + return s.RespMetadata.RequestID +} + type UntagResourceInput struct { _ struct{} `type:"structure"` @@ -3592,6 +5349,8 @@ type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + Code_ *string `locationName:"code" type:"string"` + Message_ *string `locationName:"message" type:"string"` } @@ -3630,7 +5389,7 @@ func (s *ValidationException) OrigErr() error { } func (s *ValidationException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. @@ -3713,6 +5472,9 @@ const ( // SigningProfileStatusCanceled is a SigningProfileStatus enum value SigningProfileStatusCanceled = "Canceled" + + // SigningProfileStatusRevoked is a SigningProfileStatus enum value + SigningProfileStatusRevoked = "Revoked" ) // SigningProfileStatus_Values returns all elements of the SigningProfileStatus enum @@ -3720,6 +5482,7 @@ func SigningProfileStatus_Values() []string { return []string{ SigningProfileStatusActive, SigningProfileStatusCanceled, + SigningProfileStatusRevoked, } } @@ -3742,3 +5505,23 @@ func SigningStatus_Values() []string { SigningStatusSucceeded, } } + +const ( + // ValidityTypeDays is a ValidityType enum value + ValidityTypeDays = "DAYS" + + // ValidityTypeMonths is a ValidityType enum value + ValidityTypeMonths = "MONTHS" + + // ValidityTypeYears is a ValidityType enum value + ValidityTypeYears = "YEARS" +) + +// ValidityType_Values returns all elements of the ValidityType enum +func ValidityType_Values() []string { + return []string{ + ValidityTypeDays, + ValidityTypeMonths, + ValidityTypeYears, + } +} diff --git a/service/signer/doc.go b/service/signer/doc.go index 2a9bb4c4b3..0925464187 100644 --- a/service/signer/doc.go +++ b/service/signer/doc.go @@ -3,15 +3,26 @@ // Package signer provides the client and types for making API // requests to AWS Signer. // -// With code signing for IoT, you can sign code that you create for any IoT -// device that is supported by Amazon Web Services (AWS). Code signing is available -// through Amazon FreeRTOS (http://docs.aws.amazon.com/freertos/latest/userguide/) +// AWS Signer is a fully managed code signing service to help you ensure the +// trust and integrity of your code. +// +// AWS Signer supports the following applications: +// +// With code signing for AWS Lambda, you can sign AWS Lambda deployment packages. +// Integrated support is provided for Amazon S3, Amazon CloudWatch, and AWS +// CloudTrail. In order to sign code, you create a signing profile and then +// use Signer to sign Lambda zip files in S3. +// +// With code signing for IoT, you can sign code for any IoT device that is supported +// by AWS. IoT code signing is available for Amazon FreeRTOS (http://docs.aws.amazon.com/freertos/latest/userguide/) // and AWS IoT Device Management (http://docs.aws.amazon.com/iot/latest/developerguide/), -// and integrated with AWS Certificate Manager (ACM) (http://docs.aws.amazon.com/acm/latest/userguide/). +// and is integrated with AWS Certificate Manager (ACM) (http://docs.aws.amazon.com/acm/latest/userguide/). // In order to sign code, you import a third-party code signing certificate -// with ACM that is used to sign updates in Amazon FreeRTOS and AWS IoT Device -// Management. For general information about using code signing, see the Code -// Signing for IoT Developer Guide (http://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html). +// using ACM, and use that to sign updates in Amazon FreeRTOS and AWS IoT Device +// Management. +// +// For more information about AWS Signer, see the AWS Signer Developer Guide +// (http://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html). // // See https://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25 for more information on this service. // diff --git a/service/signer/errors.go b/service/signer/errors.go index 525a011ab1..991ecf96b1 100644 --- a/service/signer/errors.go +++ b/service/signer/errors.go @@ -21,6 +21,12 @@ const ( // also occurs when you call a tagging API on a cancelled signing profile. ErrCodeBadRequestException = "BadRequestException" + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The resource encountered a conflicting state. + ErrCodeConflictException = "ConflictException" + // ErrCodeInternalServiceErrorException for service response error code // "InternalServiceErrorException". // @@ -39,12 +45,28 @@ const ( // A specified resource could not be found. ErrCodeResourceNotFoundException = "ResourceNotFoundException" + // ErrCodeServiceLimitExceededException for service response error code + // "ServiceLimitExceededException". + // + // The client is making a request that exceeds service limits. + ErrCodeServiceLimitExceededException = "ServiceLimitExceededException" + // ErrCodeThrottlingException for service response error code // "ThrottlingException". // - // The signing job has been throttled. + // The request was denied due to request throttling. + // + // Instead of this error, TooManyRequestsException should be used. ErrCodeThrottlingException = "ThrottlingException" + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + // + // The allowed number of job-signing requests has been exceeded. + // + // This error supersedes the error ThrottlingException. + ErrCodeTooManyRequestsException = "TooManyRequestsException" + // ErrCodeValidationException for service response error code // "ValidationException". // @@ -55,9 +77,12 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AccessDeniedException": newErrorAccessDeniedException, "BadRequestException": newErrorBadRequestException, + "ConflictException": newErrorConflictException, "InternalServiceErrorException": newErrorInternalServiceErrorException, "NotFoundException": newErrorNotFoundException, "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceLimitExceededException": newErrorServiceLimitExceededException, "ThrottlingException": newErrorThrottlingException, + "TooManyRequestsException": newErrorTooManyRequestsException, "ValidationException": newErrorValidationException, } diff --git a/service/signer/signeriface/interface.go b/service/signer/signeriface/interface.go index 95e32dc916..6f50ff1f11 100644 --- a/service/signer/signeriface/interface.go +++ b/service/signer/signeriface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // AWS Signer. // func myFunc(svc signeriface.SignerAPI) bool { -// // Make svc.CancelSigningProfile request +// // Make svc.AddProfilePermission request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockSignerClient struct { // signeriface.SignerAPI // } -// func (m *mockSignerClient) CancelSigningProfile(input *signer.CancelSigningProfileInput) (*signer.CancelSigningProfileOutput, error) { +// func (m *mockSignerClient) AddProfilePermission(input *signer.AddProfilePermissionInput) (*signer.AddProfilePermissionOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type SignerAPI interface { + AddProfilePermission(*signer.AddProfilePermissionInput) (*signer.AddProfilePermissionOutput, error) + AddProfilePermissionWithContext(aws.Context, *signer.AddProfilePermissionInput, ...request.Option) (*signer.AddProfilePermissionOutput, error) + AddProfilePermissionRequest(*signer.AddProfilePermissionInput) (*request.Request, *signer.AddProfilePermissionOutput) + CancelSigningProfile(*signer.CancelSigningProfileInput) (*signer.CancelSigningProfileOutput, error) CancelSigningProfileWithContext(aws.Context, *signer.CancelSigningProfileInput, ...request.Option) (*signer.CancelSigningProfileOutput, error) CancelSigningProfileRequest(*signer.CancelSigningProfileInput) (*request.Request, *signer.CancelSigningProfileOutput) @@ -76,6 +80,10 @@ type SignerAPI interface { GetSigningProfileWithContext(aws.Context, *signer.GetSigningProfileInput, ...request.Option) (*signer.GetSigningProfileOutput, error) GetSigningProfileRequest(*signer.GetSigningProfileInput) (*request.Request, *signer.GetSigningProfileOutput) + ListProfilePermissions(*signer.ListProfilePermissionsInput) (*signer.ListProfilePermissionsOutput, error) + ListProfilePermissionsWithContext(aws.Context, *signer.ListProfilePermissionsInput, ...request.Option) (*signer.ListProfilePermissionsOutput, error) + ListProfilePermissionsRequest(*signer.ListProfilePermissionsInput) (*request.Request, *signer.ListProfilePermissionsOutput) + ListSigningJobs(*signer.ListSigningJobsInput) (*signer.ListSigningJobsOutput, error) ListSigningJobsWithContext(aws.Context, *signer.ListSigningJobsInput, ...request.Option) (*signer.ListSigningJobsOutput, error) ListSigningJobsRequest(*signer.ListSigningJobsInput) (*request.Request, *signer.ListSigningJobsOutput) @@ -105,6 +113,18 @@ type SignerAPI interface { PutSigningProfileWithContext(aws.Context, *signer.PutSigningProfileInput, ...request.Option) (*signer.PutSigningProfileOutput, error) PutSigningProfileRequest(*signer.PutSigningProfileInput) (*request.Request, *signer.PutSigningProfileOutput) + RemoveProfilePermission(*signer.RemoveProfilePermissionInput) (*signer.RemoveProfilePermissionOutput, error) + RemoveProfilePermissionWithContext(aws.Context, *signer.RemoveProfilePermissionInput, ...request.Option) (*signer.RemoveProfilePermissionOutput, error) + RemoveProfilePermissionRequest(*signer.RemoveProfilePermissionInput) (*request.Request, *signer.RemoveProfilePermissionOutput) + + RevokeSignature(*signer.RevokeSignatureInput) (*signer.RevokeSignatureOutput, error) + RevokeSignatureWithContext(aws.Context, *signer.RevokeSignatureInput, ...request.Option) (*signer.RevokeSignatureOutput, error) + RevokeSignatureRequest(*signer.RevokeSignatureInput) (*request.Request, *signer.RevokeSignatureOutput) + + RevokeSigningProfile(*signer.RevokeSigningProfileInput) (*signer.RevokeSigningProfileOutput, error) + RevokeSigningProfileWithContext(aws.Context, *signer.RevokeSigningProfileInput, ...request.Option) (*signer.RevokeSigningProfileOutput, error) + RevokeSigningProfileRequest(*signer.RevokeSigningProfileInput) (*request.Request, *signer.RevokeSigningProfileOutput) + StartSigningJob(*signer.StartSigningJobInput) (*signer.StartSigningJobOutput, error) StartSigningJobWithContext(aws.Context, *signer.StartSigningJobInput, ...request.Option) (*signer.StartSigningJobOutput, error) StartSigningJobRequest(*signer.StartSigningJobInput) (*request.Request, *signer.StartSigningJobOutput) diff --git a/service/ssoadmin/api.go b/service/ssoadmin/api.go index b4dadeb1f6..7795d7a78d 100644 --- a/service/ssoadmin/api.go +++ b/service/ssoadmin/api.go @@ -235,6 +235,110 @@ func (c *SSOAdmin) CreateAccountAssignmentWithContext(ctx aws.Context, input *Cr return out, req.Send() } +const opCreateInstanceAccessControlAttributeConfiguration = "CreateInstanceAccessControlAttributeConfiguration" + +// CreateInstanceAccessControlAttributeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateInstanceAccessControlAttributeConfiguration 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 CreateInstanceAccessControlAttributeConfiguration for more information on using the CreateInstanceAccessControlAttributeConfiguration +// 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 CreateInstanceAccessControlAttributeConfigurationRequest method. +// req, resp := client.CreateInstanceAccessControlAttributeConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreateInstanceAccessControlAttributeConfiguration +func (c *SSOAdmin) CreateInstanceAccessControlAttributeConfigurationRequest(input *CreateInstanceAccessControlAttributeConfigurationInput) (req *request.Request, output *CreateInstanceAccessControlAttributeConfigurationOutput) { + op := &request.Operation{ + Name: opCreateInstanceAccessControlAttributeConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateInstanceAccessControlAttributeConfigurationInput{} + } + + output = &CreateInstanceAccessControlAttributeConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateInstanceAccessControlAttributeConfiguration API operation for AWS Single Sign-On Admin. +// +// Enables the attributes-based access control (ABAC) feature for the specified +// AWS SSO instance. You can also specify new attributes to add to your ABAC +// configuration during the enabling process. For more information about ABAC, +// see Attribute-Based Access Control (/singlesignon/latest/userguide/abac.html) +// in the AWS SSO User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Single Sign-On Admin's +// API operation CreateInstanceAccessControlAttributeConfiguration for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception, +// or failure with an internal server. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ThrottlingException +// Indicates that the principal has crossed the throttling limits of the API +// operations. +// +// * ValidationException +// The request failed because it contains a syntax error. +// +// * ResourceNotFoundException +// Indicates that a requested resource is not found. +// +// * ConflictException +// Occurs when a conflict with a previous successful write is detected. This +// generally occurs when the previous write did not have time to propagate to +// the host serving the current request. A retry (with appropriate backoff logic) +// is the recommended response to this exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreateInstanceAccessControlAttributeConfiguration +func (c *SSOAdmin) CreateInstanceAccessControlAttributeConfiguration(input *CreateInstanceAccessControlAttributeConfigurationInput) (*CreateInstanceAccessControlAttributeConfigurationOutput, error) { + req, out := c.CreateInstanceAccessControlAttributeConfigurationRequest(input) + return out, req.Send() +} + +// CreateInstanceAccessControlAttributeConfigurationWithContext is the same as CreateInstanceAccessControlAttributeConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateInstanceAccessControlAttributeConfiguration 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 *SSOAdmin) CreateInstanceAccessControlAttributeConfigurationWithContext(ctx aws.Context, input *CreateInstanceAccessControlAttributeConfigurationInput, opts ...request.Option) (*CreateInstanceAccessControlAttributeConfigurationOutput, error) { + req, out := c.CreateInstanceAccessControlAttributeConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreatePermissionSet = "CreatePermissionSet" // CreatePermissionSetRequest generates a "aws/request.Request" representing the @@ -540,6 +644,111 @@ func (c *SSOAdmin) DeleteInlinePolicyFromPermissionSetWithContext(ctx aws.Contex return out, req.Send() } +const opDeleteInstanceAccessControlAttributeConfiguration = "DeleteInstanceAccessControlAttributeConfiguration" + +// DeleteInstanceAccessControlAttributeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInstanceAccessControlAttributeConfiguration 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 DeleteInstanceAccessControlAttributeConfiguration for more information on using the DeleteInstanceAccessControlAttributeConfiguration +// 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 DeleteInstanceAccessControlAttributeConfigurationRequest method. +// req, resp := client.DeleteInstanceAccessControlAttributeConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteInstanceAccessControlAttributeConfiguration +func (c *SSOAdmin) DeleteInstanceAccessControlAttributeConfigurationRequest(input *DeleteInstanceAccessControlAttributeConfigurationInput) (req *request.Request, output *DeleteInstanceAccessControlAttributeConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteInstanceAccessControlAttributeConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteInstanceAccessControlAttributeConfigurationInput{} + } + + output = &DeleteInstanceAccessControlAttributeConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteInstanceAccessControlAttributeConfiguration API operation for AWS Single Sign-On Admin. +// +// Disables the attributes-based access control (ABAC) feature for the specified +// AWS SSO instance and deletes all of the attribute mappings that have been +// configured. Once deleted, any attributes that are received from an identity +// source and any custom attributes you have previously configured will not +// be passed. For more information about ABAC, see Attribute-Based Access Control +// (/singlesignon/latest/userguide/abac.html) in the AWS SSO User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Single Sign-On Admin's +// API operation DeleteInstanceAccessControlAttributeConfiguration for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception, +// or failure with an internal server. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ThrottlingException +// Indicates that the principal has crossed the throttling limits of the API +// operations. +// +// * ValidationException +// The request failed because it contains a syntax error. +// +// * ResourceNotFoundException +// Indicates that a requested resource is not found. +// +// * ConflictException +// Occurs when a conflict with a previous successful write is detected. This +// generally occurs when the previous write did not have time to propagate to +// the host serving the current request. A retry (with appropriate backoff logic) +// is the recommended response to this exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteInstanceAccessControlAttributeConfiguration +func (c *SSOAdmin) DeleteInstanceAccessControlAttributeConfiguration(input *DeleteInstanceAccessControlAttributeConfigurationInput) (*DeleteInstanceAccessControlAttributeConfigurationOutput, error) { + req, out := c.DeleteInstanceAccessControlAttributeConfigurationRequest(input) + return out, req.Send() +} + +// DeleteInstanceAccessControlAttributeConfigurationWithContext is the same as DeleteInstanceAccessControlAttributeConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInstanceAccessControlAttributeConfiguration 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 *SSOAdmin) DeleteInstanceAccessControlAttributeConfigurationWithContext(ctx aws.Context, input *DeleteInstanceAccessControlAttributeConfigurationInput, opts ...request.Option) (*DeleteInstanceAccessControlAttributeConfigurationOutput, error) { + req, out := c.DeleteInstanceAccessControlAttributeConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeletePermissionSet = "DeletePermissionSet" // DeletePermissionSetRequest generates a "aws/request.Request" representing the @@ -826,6 +1035,103 @@ func (c *SSOAdmin) DescribeAccountAssignmentDeletionStatusWithContext(ctx aws.Co return out, req.Send() } +const opDescribeInstanceAccessControlAttributeConfiguration = "DescribeInstanceAccessControlAttributeConfiguration" + +// DescribeInstanceAccessControlAttributeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceAccessControlAttributeConfiguration 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 DescribeInstanceAccessControlAttributeConfiguration for more information on using the DescribeInstanceAccessControlAttributeConfiguration +// 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 DescribeInstanceAccessControlAttributeConfigurationRequest method. +// req, resp := client.DescribeInstanceAccessControlAttributeConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeInstanceAccessControlAttributeConfiguration +func (c *SSOAdmin) DescribeInstanceAccessControlAttributeConfigurationRequest(input *DescribeInstanceAccessControlAttributeConfigurationInput) (req *request.Request, output *DescribeInstanceAccessControlAttributeConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeInstanceAccessControlAttributeConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeInstanceAccessControlAttributeConfigurationInput{} + } + + output = &DescribeInstanceAccessControlAttributeConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInstanceAccessControlAttributeConfiguration API operation for AWS Single Sign-On Admin. +// +// Returns the list of AWS SSO identity store attributes that have been configured +// to work with attributes-based access control (ABAC) for the specified AWS +// SSO instance. This will not return attributes configured and sent by an external +// identity provider. For more information about ABAC, see Attribute-Based Access +// Control (/singlesignon/latest/userguide/abac.html) in the AWS SSO User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Single Sign-On Admin's +// API operation DescribeInstanceAccessControlAttributeConfiguration for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// Indicates that a requested resource is not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception, +// or failure with an internal server. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ThrottlingException +// Indicates that the principal has crossed the throttling limits of the API +// operations. +// +// * ValidationException +// The request failed because it contains a syntax error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeInstanceAccessControlAttributeConfiguration +func (c *SSOAdmin) DescribeInstanceAccessControlAttributeConfiguration(input *DescribeInstanceAccessControlAttributeConfigurationInput) (*DescribeInstanceAccessControlAttributeConfigurationOutput, error) { + req, out := c.DescribeInstanceAccessControlAttributeConfigurationRequest(input) + return out, req.Send() +} + +// DescribeInstanceAccessControlAttributeConfigurationWithContext is the same as DescribeInstanceAccessControlAttributeConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInstanceAccessControlAttributeConfiguration 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 *SSOAdmin) DescribeInstanceAccessControlAttributeConfigurationWithContext(ctx aws.Context, input *DescribeInstanceAccessControlAttributeConfigurationInput, opts ...request.Option) (*DescribeInstanceAccessControlAttributeConfigurationOutput, error) { + req, out := c.DescribeInstanceAccessControlAttributeConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribePermissionSet = "DescribePermissionSet" // DescribePermissionSetRequest generates a "aws/request.Request" representing the @@ -3129,6 +3435,113 @@ func (c *SSOAdmin) UntagResourceWithContext(ctx aws.Context, input *UntagResourc return out, req.Send() } +const opUpdateInstanceAccessControlAttributeConfiguration = "UpdateInstanceAccessControlAttributeConfiguration" + +// UpdateInstanceAccessControlAttributeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInstanceAccessControlAttributeConfiguration 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 UpdateInstanceAccessControlAttributeConfiguration for more information on using the UpdateInstanceAccessControlAttributeConfiguration +// 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 UpdateInstanceAccessControlAttributeConfigurationRequest method. +// req, resp := client.UpdateInstanceAccessControlAttributeConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UpdateInstanceAccessControlAttributeConfiguration +func (c *SSOAdmin) UpdateInstanceAccessControlAttributeConfigurationRequest(input *UpdateInstanceAccessControlAttributeConfigurationInput) (req *request.Request, output *UpdateInstanceAccessControlAttributeConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateInstanceAccessControlAttributeConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateInstanceAccessControlAttributeConfigurationInput{} + } + + output = &UpdateInstanceAccessControlAttributeConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateInstanceAccessControlAttributeConfiguration API operation for AWS Single Sign-On Admin. +// +// Updates the AWS SSO identity store attributes to use with the AWS SSO instance +// for attributes-based access control (ABAC). When using an external identity +// provider as an identity source, you can pass attributes through the SAML +// assertion as an alternative to configuring attributes from the AWS SSO identity +// store. If a SAML assertion passes any of these attributes, AWS SSO will replace +// the attribute value with the value from the AWS SSO identity store. For more +// information about ABAC, see Attribute-Based Access Control (/singlesignon/latest/userguide/abac.html) +// in the AWS SSO User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Single Sign-On Admin's +// API operation UpdateInstanceAccessControlAttributeConfiguration for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception, +// or failure with an internal server. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ThrottlingException +// Indicates that the principal has crossed the throttling limits of the API +// operations. +// +// * ValidationException +// The request failed because it contains a syntax error. +// +// * ResourceNotFoundException +// Indicates that a requested resource is not found. +// +// * ConflictException +// Occurs when a conflict with a previous successful write is detected. This +// generally occurs when the previous write did not have time to propagate to +// the host serving the current request. A retry (with appropriate backoff logic) +// is the recommended response to this exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UpdateInstanceAccessControlAttributeConfiguration +func (c *SSOAdmin) UpdateInstanceAccessControlAttributeConfiguration(input *UpdateInstanceAccessControlAttributeConfigurationInput) (*UpdateInstanceAccessControlAttributeConfigurationOutput, error) { + req, out := c.UpdateInstanceAccessControlAttributeConfigurationRequest(input) + return out, req.Send() +} + +// UpdateInstanceAccessControlAttributeConfigurationWithContext is the same as UpdateInstanceAccessControlAttributeConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInstanceAccessControlAttributeConfiguration 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 *SSOAdmin) UpdateInstanceAccessControlAttributeConfigurationWithContext(ctx aws.Context, input *UpdateInstanceAccessControlAttributeConfigurationInput, opts ...request.Option) (*UpdateInstanceAccessControlAttributeConfigurationOutput, error) { + req, out := c.UpdateInstanceAccessControlAttributeConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdatePermissionSet = "UpdatePermissionSet" // UpdatePermissionSetRequest generates a "aws/request.Request" representing the @@ -3229,6 +3642,116 @@ func (c *SSOAdmin) UpdatePermissionSetWithContext(ctx aws.Context, input *Update return out, req.Send() } +// These are AWS SSO identity store attributes that you can configure for use +// in attributes-based access control (ABAC). You can create permission policies +// that determine who can access your AWS resources based upon the configured +// attribute value(s). When you enable ABAC and specify AccessControlAttributes, +// AWS SSO passes the attribute(s) value of the authenticated user into IAM +// for use in policy evaluation. +type AccessControlAttribute struct { + _ struct{} `type:"structure"` + + // The name of the attribute associated with your identities in your identity + // source. This is used to map a specified attribute in your identity source + // with an attribute in AWS SSO. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value used for mapping a specified attribute to an identity source. + // + // Value is a required field + Value *AccessControlAttributeValue `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AccessControlAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessControlAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AccessControlAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AccessControlAttribute"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil { + if err := s.Value.Validate(); err != nil { + invalidParams.AddNested("Value", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *AccessControlAttribute) SetKey(v string) *AccessControlAttribute { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *AccessControlAttribute) SetValue(v *AccessControlAttributeValue) *AccessControlAttribute { + s.Value = v + return s +} + +// The value used for mapping a specified attribute to an identity source. +type AccessControlAttributeValue struct { + _ struct{} `type:"structure"` + + // The identity source to use when mapping a specified attribute to AWS SSO. + // + // Source is a required field + Source []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s AccessControlAttributeValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessControlAttributeValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AccessControlAttributeValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AccessControlAttributeValue"} + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Source != nil && len(s.Source) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Source", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSource sets the Source field's value. +func (s *AccessControlAttributeValue) SetSource(v []*string) *AccessControlAttributeValue { + s.Source = v + return s +} + // You do not have sufficient access to perform this action. type AccessDeniedException struct { _ struct{} `type:"structure"` @@ -3826,6 +4349,85 @@ func (s *CreateAccountAssignmentOutput) SetAccountAssignmentCreationStatus(v *Ac return s } +type CreateInstanceAccessControlAttributeConfigurationInput struct { + _ struct{} `type:"structure"` + + // Specifies the AWS SSO identity store attributes to add to your ABAC configuration. + // When using an external identity provider as an identity source, you can pass + // attributes through the SAML assertion as an alternative to configuring attributes + // from the AWS SSO identity store. If a SAML assertion passes any of these + // attributes, AWS SSO will replace the attribute value with the value from + // the AWS SSO identity store. + // + // InstanceAccessControlAttributeConfiguration is a required field + InstanceAccessControlAttributeConfiguration *InstanceAccessControlAttributeConfiguration `type:"structure" required:"true"` + + // The ARN of the SSO instance under which the operation will be executed. + // + // InstanceArn is a required field + InstanceArn *string `min:"10" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateInstanceAccessControlAttributeConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInstanceAccessControlAttributeConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateInstanceAccessControlAttributeConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInstanceAccessControlAttributeConfigurationInput"} + if s.InstanceAccessControlAttributeConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceAccessControlAttributeConfiguration")) + } + if s.InstanceArn == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceArn")) + } + if s.InstanceArn != nil && len(*s.InstanceArn) < 10 { + invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10)) + } + if s.InstanceAccessControlAttributeConfiguration != nil { + if err := s.InstanceAccessControlAttributeConfiguration.Validate(); err != nil { + invalidParams.AddNested("InstanceAccessControlAttributeConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceAccessControlAttributeConfiguration sets the InstanceAccessControlAttributeConfiguration field's value. +func (s *CreateInstanceAccessControlAttributeConfigurationInput) SetInstanceAccessControlAttributeConfiguration(v *InstanceAccessControlAttributeConfiguration) *CreateInstanceAccessControlAttributeConfigurationInput { + s.InstanceAccessControlAttributeConfiguration = v + return s +} + +// SetInstanceArn sets the InstanceArn field's value. +func (s *CreateInstanceAccessControlAttributeConfigurationInput) SetInstanceArn(v string) *CreateInstanceAccessControlAttributeConfigurationInput { + s.InstanceArn = &v + return s +} + +type CreateInstanceAccessControlAttributeConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateInstanceAccessControlAttributeConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInstanceAccessControlAttributeConfigurationOutput) GoString() string { + return s.String() +} + type CreatePermissionSetInput struct { _ struct{} `type:"structure"` @@ -4189,6 +4791,61 @@ func (s DeleteInlinePolicyFromPermissionSetOutput) GoString() string { return s.String() } +type DeleteInstanceAccessControlAttributeConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the SSO instance under which the operation will be executed. + // + // InstanceArn is a required field + InstanceArn *string `min:"10" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteInstanceAccessControlAttributeConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInstanceAccessControlAttributeConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInstanceAccessControlAttributeConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceAccessControlAttributeConfigurationInput"} + if s.InstanceArn == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceArn")) + } + if s.InstanceArn != nil && len(*s.InstanceArn) < 10 { + invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceArn sets the InstanceArn field's value. +func (s *DeleteInstanceAccessControlAttributeConfigurationInput) SetInstanceArn(v string) *DeleteInstanceAccessControlAttributeConfigurationInput { + s.InstanceArn = &v + return s +} + +type DeleteInstanceAccessControlAttributeConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteInstanceAccessControlAttributeConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInstanceAccessControlAttributeConfigurationOutput) GoString() string { + return s.String() +} + type DeletePermissionSetInput struct { _ struct{} `type:"structure"` @@ -4426,6 +5083,88 @@ func (s *DescribeAccountAssignmentDeletionStatusOutput) SetAccountAssignmentDele return s } +type DescribeInstanceAccessControlAttributeConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ARN of the SSO instance under which the operation will be executed. + // + // InstanceArn is a required field + InstanceArn *string `min:"10" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeInstanceAccessControlAttributeConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceAccessControlAttributeConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstanceAccessControlAttributeConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAccessControlAttributeConfigurationInput"} + if s.InstanceArn == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceArn")) + } + if s.InstanceArn != nil && len(*s.InstanceArn) < 10 { + invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceArn sets the InstanceArn field's value. +func (s *DescribeInstanceAccessControlAttributeConfigurationInput) SetInstanceArn(v string) *DescribeInstanceAccessControlAttributeConfigurationInput { + s.InstanceArn = &v + return s +} + +type DescribeInstanceAccessControlAttributeConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Gets the list of AWS SSO identity store attributes added to your ABAC configuration. + InstanceAccessControlAttributeConfiguration *InstanceAccessControlAttributeConfiguration `type:"structure"` + + // The status of the attribute configuration process. + Status *string `type:"string" enum:"InstanceAccessControlAttributeConfigurationStatus"` + + // Provides more details about the current status of the specified attribute. + StatusReason *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceAccessControlAttributeConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceAccessControlAttributeConfigurationOutput) GoString() string { + return s.String() +} + +// SetInstanceAccessControlAttributeConfiguration sets the InstanceAccessControlAttributeConfiguration field's value. +func (s *DescribeInstanceAccessControlAttributeConfigurationOutput) SetInstanceAccessControlAttributeConfiguration(v *InstanceAccessControlAttributeConfiguration) *DescribeInstanceAccessControlAttributeConfigurationOutput { + s.InstanceAccessControlAttributeConfiguration = v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeInstanceAccessControlAttributeConfigurationOutput) SetStatus(v string) *DescribeInstanceAccessControlAttributeConfigurationOutput { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *DescribeInstanceAccessControlAttributeConfigurationOutput) SetStatusReason(v string) *DescribeInstanceAccessControlAttributeConfigurationOutput { + s.StatusReason = &v + return s +} + type DescribePermissionSetInput struct { _ struct{} `type:"structure"` @@ -4768,6 +5507,57 @@ func (s *GetInlinePolicyForPermissionSetOutput) SetInlinePolicy(v string) *GetIn return s } +// Specifies the attributes to add to your attribute-based access control (ABAC) +// configuration. +type InstanceAccessControlAttributeConfiguration struct { + _ struct{} `type:"structure"` + + // Lists the attributes that are configured for ABAC in the specified AWS SSO + // instance. + // + // AccessControlAttributes is a required field + AccessControlAttributes []*AccessControlAttribute `type:"list" required:"true"` +} + +// String returns the string representation +func (s InstanceAccessControlAttributeConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceAccessControlAttributeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceAccessControlAttributeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceAccessControlAttributeConfiguration"} + if s.AccessControlAttributes == nil { + invalidParams.Add(request.NewErrParamRequired("AccessControlAttributes")) + } + if s.AccessControlAttributes != nil { + for i, v := range s.AccessControlAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessControlAttributes sets the AccessControlAttributes field's value. +func (s *InstanceAccessControlAttributeConfiguration) SetAccessControlAttributes(v []*AccessControlAttribute) *InstanceAccessControlAttributeConfiguration { + s.AccessControlAttributes = v + return s +} + // Provides information about the SSO instance. type InstanceMetadata struct { _ struct{} `type:"structure"` @@ -6783,6 +7573,80 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateInstanceAccessControlAttributeConfigurationInput struct { + _ struct{} `type:"structure"` + + // Updates the attributes for your ABAC configuration. + // + // InstanceAccessControlAttributeConfiguration is a required field + InstanceAccessControlAttributeConfiguration *InstanceAccessControlAttributeConfiguration `type:"structure" required:"true"` + + // The ARN of the SSO instance under which the operation will be executed. + // + // InstanceArn is a required field + InstanceArn *string `min:"10" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateInstanceAccessControlAttributeConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInstanceAccessControlAttributeConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateInstanceAccessControlAttributeConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceAccessControlAttributeConfigurationInput"} + if s.InstanceAccessControlAttributeConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceAccessControlAttributeConfiguration")) + } + if s.InstanceArn == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceArn")) + } + if s.InstanceArn != nil && len(*s.InstanceArn) < 10 { + invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10)) + } + if s.InstanceAccessControlAttributeConfiguration != nil { + if err := s.InstanceAccessControlAttributeConfiguration.Validate(); err != nil { + invalidParams.AddNested("InstanceAccessControlAttributeConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceAccessControlAttributeConfiguration sets the InstanceAccessControlAttributeConfiguration field's value. +func (s *UpdateInstanceAccessControlAttributeConfigurationInput) SetInstanceAccessControlAttributeConfiguration(v *InstanceAccessControlAttributeConfiguration) *UpdateInstanceAccessControlAttributeConfigurationInput { + s.InstanceAccessControlAttributeConfiguration = v + return s +} + +// SetInstanceArn sets the InstanceArn field's value. +func (s *UpdateInstanceAccessControlAttributeConfigurationInput) SetInstanceArn(v string) *UpdateInstanceAccessControlAttributeConfigurationInput { + s.InstanceArn = &v + return s +} + +type UpdateInstanceAccessControlAttributeConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateInstanceAccessControlAttributeConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInstanceAccessControlAttributeConfigurationOutput) GoString() string { + return s.String() +} + type UpdatePermissionSetInput struct { _ struct{} `type:"structure"` @@ -6952,6 +7816,26 @@ func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } +const ( + // InstanceAccessControlAttributeConfigurationStatusEnabled is a InstanceAccessControlAttributeConfigurationStatus enum value + InstanceAccessControlAttributeConfigurationStatusEnabled = "ENABLED" + + // InstanceAccessControlAttributeConfigurationStatusCreationInProgress is a InstanceAccessControlAttributeConfigurationStatus enum value + InstanceAccessControlAttributeConfigurationStatusCreationInProgress = "CREATION_IN_PROGRESS" + + // InstanceAccessControlAttributeConfigurationStatusCreationFailed is a InstanceAccessControlAttributeConfigurationStatus enum value + InstanceAccessControlAttributeConfigurationStatusCreationFailed = "CREATION_FAILED" +) + +// InstanceAccessControlAttributeConfigurationStatus_Values returns all elements of the InstanceAccessControlAttributeConfigurationStatus enum +func InstanceAccessControlAttributeConfigurationStatus_Values() []string { + return []string{ + InstanceAccessControlAttributeConfigurationStatusEnabled, + InstanceAccessControlAttributeConfigurationStatusCreationInProgress, + InstanceAccessControlAttributeConfigurationStatusCreationFailed, + } +} + const ( // PrincipalTypeUser is a PrincipalType enum value PrincipalTypeUser = "USER" diff --git a/service/ssoadmin/ssoadminiface/interface.go b/service/ssoadmin/ssoadminiface/interface.go index 9523e1981c..ddc9bc368c 100644 --- a/service/ssoadmin/ssoadminiface/interface.go +++ b/service/ssoadmin/ssoadminiface/interface.go @@ -68,6 +68,10 @@ type SSOAdminAPI interface { CreateAccountAssignmentWithContext(aws.Context, *ssoadmin.CreateAccountAssignmentInput, ...request.Option) (*ssoadmin.CreateAccountAssignmentOutput, error) CreateAccountAssignmentRequest(*ssoadmin.CreateAccountAssignmentInput) (*request.Request, *ssoadmin.CreateAccountAssignmentOutput) + CreateInstanceAccessControlAttributeConfiguration(*ssoadmin.CreateInstanceAccessControlAttributeConfigurationInput) (*ssoadmin.CreateInstanceAccessControlAttributeConfigurationOutput, error) + CreateInstanceAccessControlAttributeConfigurationWithContext(aws.Context, *ssoadmin.CreateInstanceAccessControlAttributeConfigurationInput, ...request.Option) (*ssoadmin.CreateInstanceAccessControlAttributeConfigurationOutput, error) + CreateInstanceAccessControlAttributeConfigurationRequest(*ssoadmin.CreateInstanceAccessControlAttributeConfigurationInput) (*request.Request, *ssoadmin.CreateInstanceAccessControlAttributeConfigurationOutput) + CreatePermissionSet(*ssoadmin.CreatePermissionSetInput) (*ssoadmin.CreatePermissionSetOutput, error) CreatePermissionSetWithContext(aws.Context, *ssoadmin.CreatePermissionSetInput, ...request.Option) (*ssoadmin.CreatePermissionSetOutput, error) CreatePermissionSetRequest(*ssoadmin.CreatePermissionSetInput) (*request.Request, *ssoadmin.CreatePermissionSetOutput) @@ -80,6 +84,10 @@ type SSOAdminAPI interface { DeleteInlinePolicyFromPermissionSetWithContext(aws.Context, *ssoadmin.DeleteInlinePolicyFromPermissionSetInput, ...request.Option) (*ssoadmin.DeleteInlinePolicyFromPermissionSetOutput, error) DeleteInlinePolicyFromPermissionSetRequest(*ssoadmin.DeleteInlinePolicyFromPermissionSetInput) (*request.Request, *ssoadmin.DeleteInlinePolicyFromPermissionSetOutput) + DeleteInstanceAccessControlAttributeConfiguration(*ssoadmin.DeleteInstanceAccessControlAttributeConfigurationInput) (*ssoadmin.DeleteInstanceAccessControlAttributeConfigurationOutput, error) + DeleteInstanceAccessControlAttributeConfigurationWithContext(aws.Context, *ssoadmin.DeleteInstanceAccessControlAttributeConfigurationInput, ...request.Option) (*ssoadmin.DeleteInstanceAccessControlAttributeConfigurationOutput, error) + DeleteInstanceAccessControlAttributeConfigurationRequest(*ssoadmin.DeleteInstanceAccessControlAttributeConfigurationInput) (*request.Request, *ssoadmin.DeleteInstanceAccessControlAttributeConfigurationOutput) + DeletePermissionSet(*ssoadmin.DeletePermissionSetInput) (*ssoadmin.DeletePermissionSetOutput, error) DeletePermissionSetWithContext(aws.Context, *ssoadmin.DeletePermissionSetInput, ...request.Option) (*ssoadmin.DeletePermissionSetOutput, error) DeletePermissionSetRequest(*ssoadmin.DeletePermissionSetInput) (*request.Request, *ssoadmin.DeletePermissionSetOutput) @@ -92,6 +100,10 @@ type SSOAdminAPI interface { DescribeAccountAssignmentDeletionStatusWithContext(aws.Context, *ssoadmin.DescribeAccountAssignmentDeletionStatusInput, ...request.Option) (*ssoadmin.DescribeAccountAssignmentDeletionStatusOutput, error) DescribeAccountAssignmentDeletionStatusRequest(*ssoadmin.DescribeAccountAssignmentDeletionStatusInput) (*request.Request, *ssoadmin.DescribeAccountAssignmentDeletionStatusOutput) + DescribeInstanceAccessControlAttributeConfiguration(*ssoadmin.DescribeInstanceAccessControlAttributeConfigurationInput) (*ssoadmin.DescribeInstanceAccessControlAttributeConfigurationOutput, error) + DescribeInstanceAccessControlAttributeConfigurationWithContext(aws.Context, *ssoadmin.DescribeInstanceAccessControlAttributeConfigurationInput, ...request.Option) (*ssoadmin.DescribeInstanceAccessControlAttributeConfigurationOutput, error) + DescribeInstanceAccessControlAttributeConfigurationRequest(*ssoadmin.DescribeInstanceAccessControlAttributeConfigurationInput) (*request.Request, *ssoadmin.DescribeInstanceAccessControlAttributeConfigurationOutput) + DescribePermissionSet(*ssoadmin.DescribePermissionSetInput) (*ssoadmin.DescribePermissionSetOutput, error) DescribePermissionSetWithContext(aws.Context, *ssoadmin.DescribePermissionSetInput, ...request.Option) (*ssoadmin.DescribePermissionSetOutput, error) DescribePermissionSetRequest(*ssoadmin.DescribePermissionSetInput) (*request.Request, *ssoadmin.DescribePermissionSetOutput) @@ -194,6 +206,10 @@ type SSOAdminAPI interface { UntagResourceWithContext(aws.Context, *ssoadmin.UntagResourceInput, ...request.Option) (*ssoadmin.UntagResourceOutput, error) UntagResourceRequest(*ssoadmin.UntagResourceInput) (*request.Request, *ssoadmin.UntagResourceOutput) + UpdateInstanceAccessControlAttributeConfiguration(*ssoadmin.UpdateInstanceAccessControlAttributeConfigurationInput) (*ssoadmin.UpdateInstanceAccessControlAttributeConfigurationOutput, error) + UpdateInstanceAccessControlAttributeConfigurationWithContext(aws.Context, *ssoadmin.UpdateInstanceAccessControlAttributeConfigurationInput, ...request.Option) (*ssoadmin.UpdateInstanceAccessControlAttributeConfigurationOutput, error) + UpdateInstanceAccessControlAttributeConfigurationRequest(*ssoadmin.UpdateInstanceAccessControlAttributeConfigurationInput) (*request.Request, *ssoadmin.UpdateInstanceAccessControlAttributeConfigurationOutput) + UpdatePermissionSet(*ssoadmin.UpdatePermissionSetInput) (*ssoadmin.UpdatePermissionSetOutput, error) UpdatePermissionSetWithContext(aws.Context, *ssoadmin.UpdatePermissionSetInput, ...request.Option) (*ssoadmin.UpdatePermissionSetOutput, error) UpdatePermissionSetRequest(*ssoadmin.UpdatePermissionSetInput) (*request.Request, *ssoadmin.UpdatePermissionSetOutput) diff --git a/service/timestreamquery/api.go b/service/timestreamquery/api.go index d4ea305aa8..03e7776932 100644 --- a/service/timestreamquery/api.go +++ b/service/timestreamquery/api.go @@ -1117,6 +1117,9 @@ type QueryOutput struct { // QueryId is a required field QueryId *string `min:"1" type:"string" required:"true"` + // Information about the status of the query, including progress and bytes scannned. + QueryStatus *QueryStatus `type:"structure"` + // The result set rows returned by the query. // // Rows is a required field @@ -1151,12 +1154,65 @@ func (s *QueryOutput) SetQueryId(v string) *QueryOutput { return s } +// SetQueryStatus sets the QueryStatus field's value. +func (s *QueryOutput) SetQueryStatus(v *QueryStatus) *QueryOutput { + s.QueryStatus = v + return s +} + // SetRows sets the Rows field's value. func (s *QueryOutput) SetRows(v []*Row) *QueryOutput { s.Rows = v return s } +// Information about the status of the query, including progress and bytes scannned. +type QueryStatus struct { + _ struct{} `type:"structure"` + + // The amount of data scanned by the query in bytes that you will be charged + // for. This is a cumulative sum and represents the total amount of data that + // you will be charged for since the query was started. The charge is applied + // only once and is either applied when the query completes execution or when + // the query is cancelled. + CumulativeBytesMetered *int64 `type:"long"` + + // The amount of data scanned by the query in bytes. This is a cumulative sum + // and represents the total amount of bytes scanned since the query was started. + CumulativeBytesScanned *int64 `type:"long"` + + // The progress of the query, expressed as a percentage. + ProgressPercentage *float64 `type:"double"` +} + +// String returns the string representation +func (s QueryStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryStatus) GoString() string { + return s.String() +} + +// SetCumulativeBytesMetered sets the CumulativeBytesMetered field's value. +func (s *QueryStatus) SetCumulativeBytesMetered(v int64) *QueryStatus { + s.CumulativeBytesMetered = &v + return s +} + +// SetCumulativeBytesScanned sets the CumulativeBytesScanned field's value. +func (s *QueryStatus) SetCumulativeBytesScanned(v int64) *QueryStatus { + s.CumulativeBytesScanned = &v + return s +} + +// SetProgressPercentage sets the ProgressPercentage field's value. +func (s *QueryStatus) SetProgressPercentage(v float64) *QueryStatus { + s.ProgressPercentage = &v + return s +} + // Represents a single row in the query results. type Row struct { _ struct{} `type:"structure"` diff --git a/service/translate/api.go b/service/translate/api.go index 382ae1a6b6..1c77409d28 100644 --- a/service/translate/api.go +++ b/service/translate/api.go @@ -13,6 +13,199 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opCreateParallelData = "CreateParallelData" + +// CreateParallelDataRequest generates a "aws/request.Request" representing the +// client's request for the CreateParallelData 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 CreateParallelData for more information on using the CreateParallelData +// 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 CreateParallelDataRequest method. +// req, resp := client.CreateParallelDataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/CreateParallelData +func (c *Translate) CreateParallelDataRequest(input *CreateParallelDataInput) (req *request.Request, output *CreateParallelDataOutput) { + op := &request.Operation{ + Name: opCreateParallelData, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateParallelDataInput{} + } + + output = &CreateParallelDataOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateParallelData API operation for Amazon Translate. +// +// Creates a parallel data resource in Amazon Translate by importing an input +// file from Amazon S3. Parallel data files contain examples of source phrases +// and their translations from your translation memory. By adding parallel data, +// you can influence the style, tone, and word choice in your translation output. +// +// 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 Translate's +// API operation CreateParallelData for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// The value of the parameter is invalid. Review the value of the parameter +// you are using to correct it, and then retry your operation. +// +// * InvalidRequestException +// The request that you made is invalid. Check your request to determine why +// it's invalid and then retry the request. +// +// * LimitExceededException +// The specified limit has been exceeded. Review your request and retry it with +// a quantity below the stated limit. +// +// * TooManyRequestsException +// You have made too many requests within a short period of time. Wait for a +// short time and then try your request again. +// +// * ConflictException +// There was a conflict processing the request. Try your request again. +// +// * InternalServerException +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/CreateParallelData +func (c *Translate) CreateParallelData(input *CreateParallelDataInput) (*CreateParallelDataOutput, error) { + req, out := c.CreateParallelDataRequest(input) + return out, req.Send() +} + +// CreateParallelDataWithContext is the same as CreateParallelData with the addition of +// the ability to pass a context and additional request options. +// +// See CreateParallelData 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 *Translate) CreateParallelDataWithContext(ctx aws.Context, input *CreateParallelDataInput, opts ...request.Option) (*CreateParallelDataOutput, error) { + req, out := c.CreateParallelDataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteParallelData = "DeleteParallelData" + +// DeleteParallelDataRequest generates a "aws/request.Request" representing the +// client's request for the DeleteParallelData 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 DeleteParallelData for more information on using the DeleteParallelData +// 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 DeleteParallelDataRequest method. +// req, resp := client.DeleteParallelDataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/DeleteParallelData +func (c *Translate) DeleteParallelDataRequest(input *DeleteParallelDataInput) (req *request.Request, output *DeleteParallelDataOutput) { + op := &request.Operation{ + Name: opDeleteParallelData, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteParallelDataInput{} + } + + output = &DeleteParallelDataOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteParallelData API operation for Amazon Translate. +// +// Deletes a parallel data resource in Amazon Translate. +// +// 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 Translate's +// API operation DeleteParallelData for usage and error information. +// +// Returned Error Types: +// * ConcurrentModificationException +// Another modification is being made. That modification must complete before +// you can make your change. +// +// * ResourceNotFoundException +// The resource you are looking for has not been found. Review the resource +// you're looking for and see if a different resource will accomplish your needs +// before retrying the revised request. +// +// * TooManyRequestsException +// You have made too many requests within a short period of time. Wait for a +// short time and then try your request again. +// +// * InternalServerException +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/DeleteParallelData +func (c *Translate) DeleteParallelData(input *DeleteParallelDataInput) (*DeleteParallelDataOutput, error) { + req, out := c.DeleteParallelDataRequest(input) + return out, req.Send() +} + +// DeleteParallelDataWithContext is the same as DeleteParallelData with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteParallelData 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 *Translate) DeleteParallelDataWithContext(ctx aws.Context, input *DeleteParallelDataInput, opts ...request.Option) (*DeleteParallelDataOutput, error) { + req, out := c.DeleteParallelDataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteTerminology = "DeleteTerminology" // DeleteTerminologyRequest generates a "aws/request.Request" representing the @@ -196,6 +389,98 @@ func (c *Translate) DescribeTextTranslationJobWithContext(ctx aws.Context, input return out, req.Send() } +const opGetParallelData = "GetParallelData" + +// GetParallelDataRequest generates a "aws/request.Request" representing the +// client's request for the GetParallelData 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 GetParallelData for more information on using the GetParallelData +// 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 GetParallelDataRequest method. +// req, resp := client.GetParallelDataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/GetParallelData +func (c *Translate) GetParallelDataRequest(input *GetParallelDataInput) (req *request.Request, output *GetParallelDataOutput) { + op := &request.Operation{ + Name: opGetParallelData, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetParallelDataInput{} + } + + output = &GetParallelDataOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetParallelData API operation for Amazon Translate. +// +// Provides information about a parallel data resource. +// +// 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 Translate's +// API operation GetParallelData for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource you are looking for has not been found. Review the resource +// you're looking for and see if a different resource will accomplish your needs +// before retrying the revised request. +// +// * InvalidParameterValueException +// The value of the parameter is invalid. Review the value of the parameter +// you are using to correct it, and then retry your operation. +// +// * TooManyRequestsException +// You have made too many requests within a short period of time. Wait for a +// short time and then try your request again. +// +// * InternalServerException +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/GetParallelData +func (c *Translate) GetParallelData(input *GetParallelDataInput) (*GetParallelDataOutput, error) { + req, out := c.GetParallelDataRequest(input) + return out, req.Send() +} + +// GetParallelDataWithContext is the same as GetParallelData with the addition of +// the ability to pass a context and additional request options. +// +// See GetParallelData 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 *Translate) GetParallelDataWithContext(ctx aws.Context, input *GetParallelDataInput, opts ...request.Option) (*GetParallelDataOutput, error) { + req, out := c.GetParallelDataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetTerminology = "GetTerminology" // GetTerminologyRequest generates a "aws/request.Request" representing the @@ -388,35 +673,35 @@ func (c *Translate) ImportTerminologyWithContext(ctx aws.Context, input *ImportT return out, req.Send() } -const opListTerminologies = "ListTerminologies" +const opListParallelData = "ListParallelData" -// ListTerminologiesRequest generates a "aws/request.Request" representing the -// client's request for the ListTerminologies operation. The "output" return +// ListParallelDataRequest generates a "aws/request.Request" representing the +// client's request for the ListParallelData 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 ListTerminologies for more information on using the ListTerminologies +// See ListParallelData for more information on using the ListParallelData // 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 ListTerminologiesRequest method. -// req, resp := client.ListTerminologiesRequest(params) +// // Example sending a request using the ListParallelDataRequest method. +// req, resp := client.ListParallelDataRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/ListTerminologies -func (c *Translate) ListTerminologiesRequest(input *ListTerminologiesInput) (req *request.Request, output *ListTerminologiesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/ListParallelData +func (c *Translate) ListParallelDataRequest(input *ListParallelDataInput) (req *request.Request, output *ListParallelDataOutput) { op := &request.Operation{ - Name: opListTerminologies, + Name: opListParallelData, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -428,24 +713,24 @@ func (c *Translate) ListTerminologiesRequest(input *ListTerminologiesInput) (req } if input == nil { - input = &ListTerminologiesInput{} + input = &ListParallelDataInput{} } - output = &ListTerminologiesOutput{} + output = &ListParallelDataOutput{} req = c.newRequest(op, input, output) return } -// ListTerminologies API operation for Amazon Translate. +// ListParallelData API operation for Amazon Translate. // -// Provides a list of custom terminologies associated with your account. +// Provides a list of your parallel data resources in Amazon Translate. // // 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 Translate's -// API operation ListTerminologies for usage and error information. +// API operation ListParallelData for usage and error information. // // Returned Error Types: // * InvalidParameterValueException @@ -459,65 +744,65 @@ func (c *Translate) ListTerminologiesRequest(input *ListTerminologiesInput) (req // * InternalServerException // An internal server error occurred. Retry your request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/ListTerminologies -func (c *Translate) ListTerminologies(input *ListTerminologiesInput) (*ListTerminologiesOutput, error) { - req, out := c.ListTerminologiesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/ListParallelData +func (c *Translate) ListParallelData(input *ListParallelDataInput) (*ListParallelDataOutput, error) { + req, out := c.ListParallelDataRequest(input) return out, req.Send() } -// ListTerminologiesWithContext is the same as ListTerminologies with the addition of +// ListParallelDataWithContext is the same as ListParallelData with the addition of // the ability to pass a context and additional request options. // -// See ListTerminologies for details on how to use this API operation. +// See ListParallelData 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 *Translate) ListTerminologiesWithContext(ctx aws.Context, input *ListTerminologiesInput, opts ...request.Option) (*ListTerminologiesOutput, error) { - req, out := c.ListTerminologiesRequest(input) +func (c *Translate) ListParallelDataWithContext(ctx aws.Context, input *ListParallelDataInput, opts ...request.Option) (*ListParallelDataOutput, error) { + req, out := c.ListParallelDataRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTerminologiesPages iterates over the pages of a ListTerminologies operation, +// ListParallelDataPages iterates over the pages of a ListParallelData operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListTerminologies method for more information on how to use this operation. +// See ListParallelData method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListTerminologies operation. +// // Example iterating over at most 3 pages of a ListParallelData operation. // pageNum := 0 -// err := client.ListTerminologiesPages(params, -// func(page *translate.ListTerminologiesOutput, lastPage bool) bool { +// err := client.ListParallelDataPages(params, +// func(page *translate.ListParallelDataOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Translate) ListTerminologiesPages(input *ListTerminologiesInput, fn func(*ListTerminologiesOutput, bool) bool) error { - return c.ListTerminologiesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Translate) ListParallelDataPages(input *ListParallelDataInput, fn func(*ListParallelDataOutput, bool) bool) error { + return c.ListParallelDataPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListTerminologiesPagesWithContext same as ListTerminologiesPages except +// ListParallelDataPagesWithContext same as ListParallelDataPages except // it takes a Context and allows setting request options on the pages. // // 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 *Translate) ListTerminologiesPagesWithContext(ctx aws.Context, input *ListTerminologiesInput, fn func(*ListTerminologiesOutput, bool) bool, opts ...request.Option) error { +func (c *Translate) ListParallelDataPagesWithContext(ctx aws.Context, input *ListParallelDataInput, fn func(*ListParallelDataOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListTerminologiesInput + var inCpy *ListParallelDataInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListTerminologiesRequest(inCpy) + req, _ := c.ListParallelDataRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -525,7 +810,7 @@ func (c *Translate) ListTerminologiesPagesWithContext(ctx aws.Context, input *Li } for p.Next() { - if !fn(p.Page().(*ListTerminologiesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListParallelDataOutput), !p.HasNextPage()) { break } } @@ -533,24 +818,169 @@ func (c *Translate) ListTerminologiesPagesWithContext(ctx aws.Context, input *Li return p.Err() } -const opListTextTranslationJobs = "ListTextTranslationJobs" +const opListTerminologies = "ListTerminologies" -// ListTextTranslationJobsRequest generates a "aws/request.Request" representing the -// client's request for the ListTextTranslationJobs operation. The "output" return +// ListTerminologiesRequest generates a "aws/request.Request" representing the +// client's request for the ListTerminologies 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 ListTextTranslationJobs for more information on using the ListTextTranslationJobs +// See ListTerminologies for more information on using the ListTerminologies // 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 ListTextTranslationJobsRequest method. +// // Example sending a request using the ListTerminologiesRequest method. +// req, resp := client.ListTerminologiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/ListTerminologies +func (c *Translate) ListTerminologiesRequest(input *ListTerminologiesInput) (req *request.Request, output *ListTerminologiesOutput) { + op := &request.Operation{ + Name: opListTerminologies, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTerminologiesInput{} + } + + output = &ListTerminologiesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTerminologies API operation for Amazon Translate. +// +// Provides a list of custom terminologies associated with your account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Translate's +// API operation ListTerminologies for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// The value of the parameter is invalid. Review the value of the parameter +// you are using to correct it, and then retry your operation. +// +// * TooManyRequestsException +// You have made too many requests within a short period of time. Wait for a +// short time and then try your request again. +// +// * InternalServerException +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/ListTerminologies +func (c *Translate) ListTerminologies(input *ListTerminologiesInput) (*ListTerminologiesOutput, error) { + req, out := c.ListTerminologiesRequest(input) + return out, req.Send() +} + +// ListTerminologiesWithContext is the same as ListTerminologies with the addition of +// the ability to pass a context and additional request options. +// +// See ListTerminologies 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 *Translate) ListTerminologiesWithContext(ctx aws.Context, input *ListTerminologiesInput, opts ...request.Option) (*ListTerminologiesOutput, error) { + req, out := c.ListTerminologiesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTerminologiesPages iterates over the pages of a ListTerminologies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTerminologies method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTerminologies operation. +// pageNum := 0 +// err := client.ListTerminologiesPages(params, +// func(page *translate.ListTerminologiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Translate) ListTerminologiesPages(input *ListTerminologiesInput, fn func(*ListTerminologiesOutput, bool) bool) error { + return c.ListTerminologiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTerminologiesPagesWithContext same as ListTerminologiesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *Translate) ListTerminologiesPagesWithContext(ctx aws.Context, input *ListTerminologiesInput, fn func(*ListTerminologiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTerminologiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTerminologiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTerminologiesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTextTranslationJobs = "ListTextTranslationJobs" + +// ListTextTranslationJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListTextTranslationJobs 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 ListTextTranslationJobs for more information on using the ListTextTranslationJobs +// 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 ListTextTranslationJobsRequest method. // req, resp := client.ListTextTranslationJobsRequest(params) // // err := req.Send() @@ -995,6 +1425,114 @@ func (c *Translate) TextWithContext(ctx aws.Context, input *TextInput, opts ...r return out, req.Send() } +const opUpdateParallelData = "UpdateParallelData" + +// UpdateParallelDataRequest generates a "aws/request.Request" representing the +// client's request for the UpdateParallelData 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 UpdateParallelData for more information on using the UpdateParallelData +// 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 UpdateParallelDataRequest method. +// req, resp := client.UpdateParallelDataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/UpdateParallelData +func (c *Translate) UpdateParallelDataRequest(input *UpdateParallelDataInput) (req *request.Request, output *UpdateParallelDataOutput) { + op := &request.Operation{ + Name: opUpdateParallelData, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateParallelDataInput{} + } + + output = &UpdateParallelDataOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateParallelData API operation for Amazon Translate. +// +// Updates a previously created parallel data resource by importing a new input +// file from Amazon S3. +// +// 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 Translate's +// API operation UpdateParallelData for usage and error information. +// +// Returned Error Types: +// * ConcurrentModificationException +// Another modification is being made. That modification must complete before +// you can make your change. +// +// * InvalidParameterValueException +// The value of the parameter is invalid. Review the value of the parameter +// you are using to correct it, and then retry your operation. +// +// * InvalidRequestException +// The request that you made is invalid. Check your request to determine why +// it's invalid and then retry the request. +// +// * LimitExceededException +// The specified limit has been exceeded. Review your request and retry it with +// a quantity below the stated limit. +// +// * TooManyRequestsException +// You have made too many requests within a short period of time. Wait for a +// short time and then try your request again. +// +// * ConflictException +// There was a conflict processing the request. Try your request again. +// +// * ResourceNotFoundException +// The resource you are looking for has not been found. Review the resource +// you're looking for and see if a different resource will accomplish your needs +// before retrying the revised request. +// +// * InternalServerException +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/UpdateParallelData +func (c *Translate) UpdateParallelData(input *UpdateParallelDataInput) (*UpdateParallelDataOutput, error) { + req, out := c.UpdateParallelDataRequest(input) + return out, req.Send() +} + +// UpdateParallelDataWithContext is the same as UpdateParallelData with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateParallelData 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 *Translate) UpdateParallelDataWithContext(ctx aws.Context, input *UpdateParallelDataInput, opts ...request.Option) (*UpdateParallelDataOutput, error) { + req, out := c.UpdateParallelDataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // The custom terminology applied to the input text by Amazon Translate for // the translated text response. This is optional in the response and will only // be present if you specified terminology input in the request. Currently, @@ -1035,44 +1573,360 @@ func (s *AppliedTerminology) SetTerms(v []*Term) *AppliedTerminology { return s } -type DeleteTerminologyInput struct { - _ struct{} `type:"structure"` +// Another modification is being made. That modification must complete before +// you can make your change. +type ConcurrentModificationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The name of the custom terminology being deleted. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s DeleteTerminologyInput) String() string { +func (s ConcurrentModificationException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTerminologyInput) GoString() string { +func (s ConcurrentModificationException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTerminologyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTerminologyInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) +func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { + return &ConcurrentModificationException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// Code returns the exception type name. +func (s *ConcurrentModificationException) Code() string { + return "ConcurrentModificationException" } -// SetName sets the Name field's value. -func (s *DeleteTerminologyInput) SetName(v string) *DeleteTerminologyInput { - s.Name = &v +// Message returns the exception's message. +func (s *ConcurrentModificationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConcurrentModificationException) OrigErr() error { + return nil +} + +func (s *ConcurrentModificationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConcurrentModificationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConcurrentModificationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// There was a conflict processing the request. Try your request again. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateParallelDataInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the request. This token is automatically generated + // when you use Amazon Translate through an AWS SDK. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // A custom description for the parallel data resource in Amazon Translate. + Description *string `type:"string"` + + // The encryption key used to encrypt this object. + EncryptionKey *EncryptionKey `type:"structure"` + + // A custom name for the parallel data resource in Amazon Translate. You must + // assign a name that is unique in the account and region. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies the format and S3 location of the parallel data input file. + // + // ParallelDataConfig is a required field + ParallelDataConfig *ParallelDataConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateParallelDataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateParallelDataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateParallelDataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateParallelDataInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ParallelDataConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ParallelDataConfig")) + } + if s.EncryptionKey != nil { + if err := s.EncryptionKey.Validate(); err != nil { + invalidParams.AddNested("EncryptionKey", err.(request.ErrInvalidParams)) + } + } + if s.ParallelDataConfig != nil { + if err := s.ParallelDataConfig.Validate(); err != nil { + invalidParams.AddNested("ParallelDataConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateParallelDataInput) SetClientToken(v string) *CreateParallelDataInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateParallelDataInput) SetDescription(v string) *CreateParallelDataInput { + s.Description = &v + return s +} + +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *CreateParallelDataInput) SetEncryptionKey(v *EncryptionKey) *CreateParallelDataInput { + s.EncryptionKey = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateParallelDataInput) SetName(v string) *CreateParallelDataInput { + s.Name = &v + return s +} + +// SetParallelDataConfig sets the ParallelDataConfig field's value. +func (s *CreateParallelDataInput) SetParallelDataConfig(v *ParallelDataConfig) *CreateParallelDataInput { + s.ParallelDataConfig = v + return s +} + +type CreateParallelDataOutput struct { + _ struct{} `type:"structure"` + + // The custom name that you assigned to the parallel data resource. + Name *string `min:"1" type:"string"` + + // The status of the parallel data resource. When the resource is ready for + // you to use, the status is ACTIVE. + Status *string `type:"string" enum:"ParallelDataStatus"` +} + +// String returns the string representation +func (s CreateParallelDataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateParallelDataOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *CreateParallelDataOutput) SetName(v string) *CreateParallelDataOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateParallelDataOutput) SetStatus(v string) *CreateParallelDataOutput { + s.Status = &v + return s +} + +type DeleteParallelDataInput struct { + _ struct{} `type:"structure"` + + // The name of the parallel data resource that is being deleted. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteParallelDataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteParallelDataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteParallelDataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteParallelDataInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteParallelDataInput) SetName(v string) *DeleteParallelDataInput { + s.Name = &v + return s +} + +type DeleteParallelDataOutput struct { + _ struct{} `type:"structure"` + + // The name of the parallel data resource that is being deleted. + Name *string `min:"1" type:"string"` + + // The status of the parallel data deletion. + Status *string `type:"string" enum:"ParallelDataStatus"` +} + +// String returns the string representation +func (s DeleteParallelDataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteParallelDataOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *DeleteParallelDataOutput) SetName(v string) *DeleteParallelDataOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteParallelDataOutput) SetStatus(v string) *DeleteParallelDataOutput { + s.Status = &v + return s +} + +type DeleteTerminologyInput struct { + _ struct{} `type:"structure"` + + // The name of the custom terminology being deleted. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTerminologyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTerminologyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTerminologyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTerminologyInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteTerminologyInput) SetName(v string) *DeleteTerminologyInput { + s.Name = &v return s } @@ -1219,8 +2073,7 @@ func (s *DetectedLanguageLowConfidenceException) RequestID() string { return s.RespMetadata.RequestID } -// The encryption key used to encrypt the custom terminologies used by Amazon -// Translate. +// The encryption key used to encrypt this object. type EncryptionKey struct { _ struct{} `type:"structure"` @@ -1277,15 +2130,114 @@ func (s *EncryptionKey) SetType(v string) *EncryptionKey { return s } -type GetTerminologyInput struct { +type GetParallelDataInput struct { _ struct{} `type:"structure"` - // The name of the custom terminology being retrieved. + // The name of the parallel data resource that is being retrieved. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` +} - // The data format of the custom terminology being retrieved, either CSV or +// String returns the string representation +func (s GetParallelDataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParallelDataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetParallelDataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetParallelDataInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetParallelDataInput) SetName(v string) *GetParallelDataInput { + s.Name = &v + return s +} + +type GetParallelDataOutput struct { + _ struct{} `type:"structure"` + + // The Amazon S3 location of a file that provides any errors or warnings that + // were produced by your input file. This file was created when Amazon Translate + // attempted to create a parallel data resource. The location is returned as + // a presigned URL to that has a 30 minute expiration. + AuxiliaryDataLocation *ParallelDataDataLocation `type:"structure"` + + // The location of the most recent parallel data input file that was successfully + // imported into Amazon Translate. The location is returned as a presigned URL + // that has a 30 minute expiration. + DataLocation *ParallelDataDataLocation `type:"structure"` + + // The Amazon S3 location of a file that provides any errors or warnings that + // were produced by your input file. This file was created when Amazon Translate + // attempted to update a parallel data resource. The location is returned as + // a presigned URL to that has a 30 minute expiration. + LatestUpdateAttemptAuxiliaryDataLocation *ParallelDataDataLocation `type:"structure"` + + // The properties of the parallel data resource that is being retrieved. + ParallelDataProperties *ParallelDataProperties `type:"structure"` +} + +// String returns the string representation +func (s GetParallelDataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParallelDataOutput) GoString() string { + return s.String() +} + +// SetAuxiliaryDataLocation sets the AuxiliaryDataLocation field's value. +func (s *GetParallelDataOutput) SetAuxiliaryDataLocation(v *ParallelDataDataLocation) *GetParallelDataOutput { + s.AuxiliaryDataLocation = v + return s +} + +// SetDataLocation sets the DataLocation field's value. +func (s *GetParallelDataOutput) SetDataLocation(v *ParallelDataDataLocation) *GetParallelDataOutput { + s.DataLocation = v + return s +} + +// SetLatestUpdateAttemptAuxiliaryDataLocation sets the LatestUpdateAttemptAuxiliaryDataLocation field's value. +func (s *GetParallelDataOutput) SetLatestUpdateAttemptAuxiliaryDataLocation(v *ParallelDataDataLocation) *GetParallelDataOutput { + s.LatestUpdateAttemptAuxiliaryDataLocation = v + return s +} + +// SetParallelDataProperties sets the ParallelDataProperties field's value. +func (s *GetParallelDataOutput) SetParallelDataProperties(v *ParallelDataProperties) *GetParallelDataOutput { + s.ParallelDataProperties = v + return s +} + +type GetTerminologyInput struct { + _ struct{} `type:"structure"` + + // The name of the custom terminology being retrieved. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The data format of the custom terminology being retrieved, either CSV or // TMX. // // TerminologyDataFormat is a required field @@ -1892,6 +2844,85 @@ func (s *LimitExceededException) RequestID() string { return s.RespMetadata.RequestID } +type ListParallelDataInput struct { + _ struct{} `type:"structure"` + + // The maximum number of parallel data resources returned for each request. + MaxResults *int64 `min:"1" type:"integer"` + + // A string that specifies the next page of results to return in a paginated + // response. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListParallelDataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListParallelDataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListParallelDataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListParallelDataInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListParallelDataInput) SetMaxResults(v int64) *ListParallelDataInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListParallelDataInput) SetNextToken(v string) *ListParallelDataInput { + s.NextToken = &v + return s +} + +type ListParallelDataOutput struct { + _ struct{} `type:"structure"` + + // The string to use in a subsequent request to get the next page of results + // in a paginated response. This value is null if there are no additional pages. + NextToken *string `type:"string"` + + // The properties of the parallel data resources returned by this request. + ParallelDataPropertiesList []*ParallelDataProperties `type:"list"` +} + +// String returns the string representation +func (s ListParallelDataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListParallelDataOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListParallelDataOutput) SetNextToken(v string) *ListParallelDataOutput { + s.NextToken = &v + return s +} + +// SetParallelDataPropertiesList sets the ParallelDataPropertiesList field's value. +func (s *ListParallelDataOutput) SetParallelDataPropertiesList(v []*ParallelDataProperties) *ListParallelDataOutput { + s.ParallelDataPropertiesList = v + return s +} + type ListTerminologiesInput struct { _ struct{} `type:"structure"` @@ -1954,155 +2985,426 @@ func (s ListTerminologiesOutput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s ListTerminologiesOutput) GoString() string { - return s.String() -} +// GoString returns the string representation +func (s ListTerminologiesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTerminologiesOutput) SetNextToken(v string) *ListTerminologiesOutput { + s.NextToken = &v + return s +} + +// SetTerminologyPropertiesList sets the TerminologyPropertiesList field's value. +func (s *ListTerminologiesOutput) SetTerminologyPropertiesList(v []*TerminologyProperties) *ListTerminologiesOutput { + s.TerminologyPropertiesList = v + return s +} + +type ListTextTranslationJobsInput struct { + _ struct{} `type:"structure"` + + // The parameters that specify which batch translation jobs to retrieve. Filters + // include job name, job status, and submission time. You can only set one filter + // at a time. + Filter *TextTranslationJobFilter `type:"structure"` + + // The maximum number of results to return in each page. The default value is + // 100. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to request the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListTextTranslationJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTextTranslationJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTextTranslationJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTextTranslationJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filter != nil { + if err := s.Filter.Validate(); err != nil { + invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilter sets the Filter field's value. +func (s *ListTextTranslationJobsInput) SetFilter(v *TextTranslationJobFilter) *ListTextTranslationJobsInput { + s.Filter = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTextTranslationJobsInput) SetMaxResults(v int64) *ListTextTranslationJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTextTranslationJobsInput) SetNextToken(v string) *ListTextTranslationJobsInput { + s.NextToken = &v + return s +} + +type ListTextTranslationJobsOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retreive the next page of results. This value is null + // when there are no more results to return. + NextToken *string `type:"string"` + + // A list containing the properties of each job that is returned. + TextTranslationJobPropertiesList []*TextTranslationJobProperties `type:"list"` +} + +// String returns the string representation +func (s ListTextTranslationJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTextTranslationJobsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTextTranslationJobsOutput) SetNextToken(v string) *ListTextTranslationJobsOutput { + s.NextToken = &v + return s +} + +// SetTextTranslationJobPropertiesList sets the TextTranslationJobPropertiesList field's value. +func (s *ListTextTranslationJobsOutput) SetTextTranslationJobPropertiesList(v []*TextTranslationJobProperties) *ListTextTranslationJobsOutput { + s.TextTranslationJobPropertiesList = v + return s +} + +// The output configuration properties for a batch translation job. +type OutputDataConfig struct { + _ struct{} `type:"structure"` + + // The URI of the S3 folder that contains a translation job's output file. The + // folder must be in the same Region as the API endpoint that you are calling. + // + // S3Uri is a required field + S3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s OutputDataConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputDataConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutputDataConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutputDataConfig"} + if s.S3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("S3Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Uri sets the S3Uri field's value. +func (s *OutputDataConfig) SetS3Uri(v string) *OutputDataConfig { + s.S3Uri = &v + return s +} + +// Specifies the format and S3 location of the parallel data input file. +type ParallelDataConfig struct { + _ struct{} `type:"structure"` + + // The format of the parallel data input file. + // + // Format is a required field + Format *string `type:"string" required:"true" enum:"ParallelDataFormat"` + + // The URI of the Amazon S3 folder that contains the parallel data input file. + // The folder must be in the same Region as the API endpoint you are calling. + // + // S3Uri is a required field + S3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ParallelDataConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParallelDataConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParallelDataConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParallelDataConfig"} + if s.Format == nil { + invalidParams.Add(request.NewErrParamRequired("Format")) + } + if s.S3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("S3Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFormat sets the Format field's value. +func (s *ParallelDataConfig) SetFormat(v string) *ParallelDataConfig { + s.Format = &v + return s +} + +// SetS3Uri sets the S3Uri field's value. +func (s *ParallelDataConfig) SetS3Uri(v string) *ParallelDataConfig { + s.S3Uri = &v + return s +} + +// The location of the most recent parallel data input file that was successfully +// imported into Amazon Translate. +type ParallelDataDataLocation struct { + _ struct{} `type:"structure"` + + // The Amazon S3 location of the parallel data input file. The location is returned + // as a presigned URL to that has a 30 minute expiration. + // + // Location is a required field + Location *string `type:"string" required:"true"` + + // Describes the repository that contains the parallel data input file. + // + // RepositoryType is a required field + RepositoryType *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ParallelDataDataLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParallelDataDataLocation) GoString() string { + return s.String() +} + +// SetLocation sets the Location field's value. +func (s *ParallelDataDataLocation) SetLocation(v string) *ParallelDataDataLocation { + s.Location = &v + return s +} + +// SetRepositoryType sets the RepositoryType field's value. +func (s *ParallelDataDataLocation) SetRepositoryType(v string) *ParallelDataDataLocation { + s.RepositoryType = &v + return s +} + +// The properties of a parallel data resource. +type ParallelDataProperties struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the parallel data resource. + Arn *string `min:"1" type:"string"` + + // The time at which the parallel data resource was created. + CreatedAt *time.Time `type:"timestamp"` + + // The description assigned to the parallel data resource. + Description *string `type:"string"` + + // The encryption key used to encrypt this object. + EncryptionKey *EncryptionKey `type:"structure"` + + // The number of records unsuccessfully imported from the parallel data input + // file. + FailedRecordCount *int64 `type:"long"` + + // The number of UTF-8 characters that Amazon Translate imported from the parallel + // data input file. This number includes only the characters in your translation + // examples. It does not include characters that are used to format your file. + // For example, if you provided a Translation Memory Exchange (.tmx) file, this + // number does not include the tags. + ImportedDataSize *int64 `type:"long"` + + // The number of records successfully imported from the parallel data input + // file. + ImportedRecordCount *int64 `type:"long"` + + // The time at which the parallel data resource was last updated. + LastUpdatedAt *time.Time `type:"timestamp"` + + // The time that the most recent update was attempted. + LatestUpdateAttemptAt *time.Time `type:"timestamp"` -// SetNextToken sets the NextToken field's value. -func (s *ListTerminologiesOutput) SetNextToken(v string) *ListTerminologiesOutput { - s.NextToken = &v - return s -} + // The status of the most recent update attempt for the parallel data resource. + LatestUpdateAttemptStatus *string `type:"string" enum:"ParallelDataStatus"` -// SetTerminologyPropertiesList sets the TerminologyPropertiesList field's value. -func (s *ListTerminologiesOutput) SetTerminologyPropertiesList(v []*TerminologyProperties) *ListTerminologiesOutput { - s.TerminologyPropertiesList = v - return s -} + // Additional information from Amazon Translate about the parallel data resource. + Message *string `type:"string"` -type ListTextTranslationJobsInput struct { - _ struct{} `type:"structure"` + // The custom name assigned to the parallel data resource. + Name *string `min:"1" type:"string"` - // The parameters that specify which batch translation jobs to retrieve. Filters - // include job name, job status, and submission time. You can only set one filter - // at a time. - Filter *TextTranslationJobFilter `type:"structure"` + // Specifies the format and S3 location of the parallel data input file. + ParallelDataConfig *ParallelDataConfig `type:"structure"` - // The maximum number of results to return in each page. The default value is - // 100. - MaxResults *int64 `min:"1" type:"integer"` + // The number of items in the input file that Amazon Translate skipped when + // you created or updated the parallel data resource. For example, Amazon Translate + // skips empty records, empty target texts, and empty lines. + SkippedRecordCount *int64 `type:"long"` - // The token to request the next page of results. - NextToken *string `type:"string"` + // The source language of the translations in the parallel data file. + SourceLanguageCode *string `min:"2" type:"string"` + + // The status of the parallel data resource. When the parallel data is ready + // for you to use, the status is ACTIVE. + Status *string `type:"string" enum:"ParallelDataStatus"` + + // The language codes for the target languages available in the parallel data + // file. All possible target languages are returned as an array. + TargetLanguageCodes []*string `type:"list"` } // String returns the string representation -func (s ListTextTranslationJobsInput) String() string { +func (s ParallelDataProperties) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTextTranslationJobsInput) GoString() string { +func (s ParallelDataProperties) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListTextTranslationJobsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTextTranslationJobsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.Filter != nil { - if err := s.Filter.Validate(); err != nil { - invalidParams.AddNested("Filter", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *ParallelDataProperties) SetArn(v string) *ParallelDataProperties { + s.Arn = &v + return s } -// SetFilter sets the Filter field's value. -func (s *ListTextTranslationJobsInput) SetFilter(v *TextTranslationJobFilter) *ListTextTranslationJobsInput { - s.Filter = v +// SetCreatedAt sets the CreatedAt field's value. +func (s *ParallelDataProperties) SetCreatedAt(v time.Time) *ParallelDataProperties { + s.CreatedAt = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListTextTranslationJobsInput) SetMaxResults(v int64) *ListTextTranslationJobsInput { - s.MaxResults = &v +// SetDescription sets the Description field's value. +func (s *ParallelDataProperties) SetDescription(v string) *ParallelDataProperties { + s.Description = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTextTranslationJobsInput) SetNextToken(v string) *ListTextTranslationJobsInput { - s.NextToken = &v +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *ParallelDataProperties) SetEncryptionKey(v *EncryptionKey) *ParallelDataProperties { + s.EncryptionKey = v return s } -type ListTextTranslationJobsOutput struct { - _ struct{} `type:"structure"` - - // The token to use to retreive the next page of results. This value is null - // when there are no more results to return. - NextToken *string `type:"string"` +// SetFailedRecordCount sets the FailedRecordCount field's value. +func (s *ParallelDataProperties) SetFailedRecordCount(v int64) *ParallelDataProperties { + s.FailedRecordCount = &v + return s +} - // A list containing the properties of each job that is returned. - TextTranslationJobPropertiesList []*TextTranslationJobProperties `type:"list"` +// SetImportedDataSize sets the ImportedDataSize field's value. +func (s *ParallelDataProperties) SetImportedDataSize(v int64) *ParallelDataProperties { + s.ImportedDataSize = &v + return s } -// String returns the string representation -func (s ListTextTranslationJobsOutput) String() string { - return awsutil.Prettify(s) +// SetImportedRecordCount sets the ImportedRecordCount field's value. +func (s *ParallelDataProperties) SetImportedRecordCount(v int64) *ParallelDataProperties { + s.ImportedRecordCount = &v + return s } -// GoString returns the string representation -func (s ListTextTranslationJobsOutput) GoString() string { - return s.String() +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *ParallelDataProperties) SetLastUpdatedAt(v time.Time) *ParallelDataProperties { + s.LastUpdatedAt = &v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTextTranslationJobsOutput) SetNextToken(v string) *ListTextTranslationJobsOutput { - s.NextToken = &v +// SetLatestUpdateAttemptAt sets the LatestUpdateAttemptAt field's value. +func (s *ParallelDataProperties) SetLatestUpdateAttemptAt(v time.Time) *ParallelDataProperties { + s.LatestUpdateAttemptAt = &v return s } -// SetTextTranslationJobPropertiesList sets the TextTranslationJobPropertiesList field's value. -func (s *ListTextTranslationJobsOutput) SetTextTranslationJobPropertiesList(v []*TextTranslationJobProperties) *ListTextTranslationJobsOutput { - s.TextTranslationJobPropertiesList = v +// SetLatestUpdateAttemptStatus sets the LatestUpdateAttemptStatus field's value. +func (s *ParallelDataProperties) SetLatestUpdateAttemptStatus(v string) *ParallelDataProperties { + s.LatestUpdateAttemptStatus = &v return s } -// The output configuration properties for a batch translation job. -type OutputDataConfig struct { - _ struct{} `type:"structure"` +// SetMessage sets the Message field's value. +func (s *ParallelDataProperties) SetMessage(v string) *ParallelDataProperties { + s.Message = &v + return s +} - // The URI of the S3 folder that contains a translation job's output file. The - // folder must be in the same Region as the API endpoint that you are calling. - // - // S3Uri is a required field - S3Uri *string `type:"string" required:"true"` +// SetName sets the Name field's value. +func (s *ParallelDataProperties) SetName(v string) *ParallelDataProperties { + s.Name = &v + return s } -// String returns the string representation -func (s OutputDataConfig) String() string { - return awsutil.Prettify(s) +// SetParallelDataConfig sets the ParallelDataConfig field's value. +func (s *ParallelDataProperties) SetParallelDataConfig(v *ParallelDataConfig) *ParallelDataProperties { + s.ParallelDataConfig = v + return s } -// GoString returns the string representation -func (s OutputDataConfig) GoString() string { - return s.String() +// SetSkippedRecordCount sets the SkippedRecordCount field's value. +func (s *ParallelDataProperties) SetSkippedRecordCount(v int64) *ParallelDataProperties { + s.SkippedRecordCount = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *OutputDataConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OutputDataConfig"} - if s.S3Uri == nil { - invalidParams.Add(request.NewErrParamRequired("S3Uri")) - } +// SetSourceLanguageCode sets the SourceLanguageCode field's value. +func (s *ParallelDataProperties) SetSourceLanguageCode(v string) *ParallelDataProperties { + s.SourceLanguageCode = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetStatus sets the Status field's value. +func (s *ParallelDataProperties) SetStatus(v string) *ParallelDataProperties { + s.Status = &v + return s } -// SetS3Uri sets the S3Uri field's value. -func (s *OutputDataConfig) SetS3Uri(v string) *OutputDataConfig { - s.S3Uri = &v +// SetTargetLanguageCodes sets the TargetLanguageCodes field's value. +func (s *ParallelDataProperties) SetTargetLanguageCodes(v []*string) *ParallelDataProperties { + s.TargetLanguageCodes = v return s } @@ -2249,6 +3551,11 @@ type StartTextTranslationJobInput struct { // OutputDataConfig is a required field OutputDataConfig *OutputDataConfig `type:"structure" required:"true"` + // The names of the parallel data resources to use in the batch translation + // job. For a list of available parallel data resources, use the ListParallelData + // operation. + ParallelDataNames []*string `type:"list"` + // The language code of the input language. For a list of language codes, see // what-is-languages. // @@ -2358,6 +3665,12 @@ func (s *StartTextTranslationJobInput) SetOutputDataConfig(v *OutputDataConfig) return s } +// SetParallelDataNames sets the ParallelDataNames field's value. +func (s *StartTextTranslationJobInput) SetParallelDataNames(v []*string) *StartTextTranslationJobInput { + s.ParallelDataNames = v + return s +} + // SetSourceLanguageCode sets the SourceLanguageCode field's value. func (s *StartTextTranslationJobInput) SetSourceLanguageCode(v string) *StartTextTranslationJobInput { s.SourceLanguageCode = &v @@ -3047,6 +4360,10 @@ type TextTranslationJobProperties struct { // requested. OutputDataConfig *OutputDataConfig `type:"structure"` + // A list containing the names of the parallel data resources applied to the + // translation job. + ParallelDataNames []*string `type:"list"` + // The language code of the language of the source text. The language must be // a language supported by Amazon Translate. SourceLanguageCode *string `min:"2" type:"string"` @@ -3128,6 +4445,12 @@ func (s *TextTranslationJobProperties) SetOutputDataConfig(v *OutputDataConfig) return s } +// SetParallelDataNames sets the ParallelDataNames field's value. +func (s *TextTranslationJobProperties) SetParallelDataNames(v []*string) *TextTranslationJobProperties { + s.ParallelDataNames = v + return s +} + // SetSourceLanguageCode sets the SourceLanguageCode field's value. func (s *TextTranslationJobProperties) SetSourceLanguageCode(v string) *TextTranslationJobProperties { s.SourceLanguageCode = &v @@ -3272,6 +4595,140 @@ func (s *UnsupportedLanguagePairException) RequestID() string { return s.RespMetadata.RequestID } +type UpdateParallelDataInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the request. This token is automatically generated + // when you use Amazon Translate through an AWS SDK. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // A custom description for the parallel data resource in Amazon Translate. + Description *string `type:"string"` + + // The name of the parallel data resource being updated. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies the format and S3 location of the parallel data input file. + // + // ParallelDataConfig is a required field + ParallelDataConfig *ParallelDataConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateParallelDataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateParallelDataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateParallelDataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateParallelDataInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ParallelDataConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ParallelDataConfig")) + } + if s.ParallelDataConfig != nil { + if err := s.ParallelDataConfig.Validate(); err != nil { + invalidParams.AddNested("ParallelDataConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateParallelDataInput) SetClientToken(v string) *UpdateParallelDataInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateParallelDataInput) SetDescription(v string) *UpdateParallelDataInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateParallelDataInput) SetName(v string) *UpdateParallelDataInput { + s.Name = &v + return s +} + +// SetParallelDataConfig sets the ParallelDataConfig field's value. +func (s *UpdateParallelDataInput) SetParallelDataConfig(v *ParallelDataConfig) *UpdateParallelDataInput { + s.ParallelDataConfig = v + return s +} + +type UpdateParallelDataOutput struct { + _ struct{} `type:"structure"` + + // The time that the most recent update was attempted. + LatestUpdateAttemptAt *time.Time `type:"timestamp"` + + // The status of the parallel data update attempt. When the updated parallel + // data resource is ready for you to use, the status is ACTIVE. + LatestUpdateAttemptStatus *string `type:"string" enum:"ParallelDataStatus"` + + // The name of the parallel data resource being updated. + Name *string `min:"1" type:"string"` + + // The status of the parallel data resource that you are attempting to update. + // Your update request is accepted only if this status is either ACTIVE or FAILED. + Status *string `type:"string" enum:"ParallelDataStatus"` +} + +// String returns the string representation +func (s UpdateParallelDataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateParallelDataOutput) GoString() string { + return s.String() +} + +// SetLatestUpdateAttemptAt sets the LatestUpdateAttemptAt field's value. +func (s *UpdateParallelDataOutput) SetLatestUpdateAttemptAt(v time.Time) *UpdateParallelDataOutput { + s.LatestUpdateAttemptAt = &v + return s +} + +// SetLatestUpdateAttemptStatus sets the LatestUpdateAttemptStatus field's value. +func (s *UpdateParallelDataOutput) SetLatestUpdateAttemptStatus(v string) *UpdateParallelDataOutput { + s.LatestUpdateAttemptStatus = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateParallelDataOutput) SetName(v string) *UpdateParallelDataOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateParallelDataOutput) SetStatus(v string) *UpdateParallelDataOutput { + s.Status = &v + return s +} + const ( // EncryptionKeyTypeKms is a EncryptionKeyType enum value EncryptionKeyTypeKms = "KMS" @@ -3332,6 +4789,54 @@ func MergeStrategy_Values() []string { } } +const ( + // ParallelDataFormatTsv is a ParallelDataFormat enum value + ParallelDataFormatTsv = "TSV" + + // ParallelDataFormatCsv is a ParallelDataFormat enum value + ParallelDataFormatCsv = "CSV" + + // ParallelDataFormatTmx is a ParallelDataFormat enum value + ParallelDataFormatTmx = "TMX" +) + +// ParallelDataFormat_Values returns all elements of the ParallelDataFormat enum +func ParallelDataFormat_Values() []string { + return []string{ + ParallelDataFormatTsv, + ParallelDataFormatCsv, + ParallelDataFormatTmx, + } +} + +const ( + // ParallelDataStatusCreating is a ParallelDataStatus enum value + ParallelDataStatusCreating = "CREATING" + + // ParallelDataStatusUpdating is a ParallelDataStatus enum value + ParallelDataStatusUpdating = "UPDATING" + + // ParallelDataStatusActive is a ParallelDataStatus enum value + ParallelDataStatusActive = "ACTIVE" + + // ParallelDataStatusDeleting is a ParallelDataStatus enum value + ParallelDataStatusDeleting = "DELETING" + + // ParallelDataStatusFailed is a ParallelDataStatus enum value + ParallelDataStatusFailed = "FAILED" +) + +// ParallelDataStatus_Values returns all elements of the ParallelDataStatus enum +func ParallelDataStatus_Values() []string { + return []string{ + ParallelDataStatusCreating, + ParallelDataStatusUpdating, + ParallelDataStatusActive, + ParallelDataStatusDeleting, + ParallelDataStatusFailed, + } +} + const ( // TerminologyDataFormatCsv is a TerminologyDataFormat enum value TerminologyDataFormatCsv = "CSV" diff --git a/service/translate/errors.go b/service/translate/errors.go index 340ae1ed3f..049db33d16 100644 --- a/service/translate/errors.go +++ b/service/translate/errors.go @@ -8,6 +8,19 @@ import ( const ( + // ErrCodeConcurrentModificationException for service response error code + // "ConcurrentModificationException". + // + // Another modification is being made. That modification must complete before + // you can make your change. + ErrCodeConcurrentModificationException = "ConcurrentModificationException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // There was a conflict processing the request. Try your request again. + ErrCodeConflictException = "ConflictException" + // ErrCodeDetectedLanguageLowConfidenceException for service response error code // "DetectedLanguageLowConfidenceException". // @@ -89,6 +102,8 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "ConcurrentModificationException": newErrorConcurrentModificationException, + "ConflictException": newErrorConflictException, "DetectedLanguageLowConfidenceException": newErrorDetectedLanguageLowConfidenceException, "InternalServerException": newErrorInternalServerException, "InvalidFilterException": newErrorInvalidFilterException, diff --git a/service/translate/translateiface/interface.go b/service/translate/translateiface/interface.go index 2ce30a68e8..e9ebdb584d 100644 --- a/service/translate/translateiface/interface.go +++ b/service/translate/translateiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon Translate. // func myFunc(svc translateiface.TranslateAPI) bool { -// // Make svc.DeleteTerminology request +// // Make svc.CreateParallelData request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockTranslateClient struct { // translateiface.TranslateAPI // } -// func (m *mockTranslateClient) DeleteTerminology(input *translate.DeleteTerminologyInput) (*translate.DeleteTerminologyOutput, error) { +// func (m *mockTranslateClient) CreateParallelData(input *translate.CreateParallelDataInput) (*translate.CreateParallelDataOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,14 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type TranslateAPI interface { + CreateParallelData(*translate.CreateParallelDataInput) (*translate.CreateParallelDataOutput, error) + CreateParallelDataWithContext(aws.Context, *translate.CreateParallelDataInput, ...request.Option) (*translate.CreateParallelDataOutput, error) + CreateParallelDataRequest(*translate.CreateParallelDataInput) (*request.Request, *translate.CreateParallelDataOutput) + + DeleteParallelData(*translate.DeleteParallelDataInput) (*translate.DeleteParallelDataOutput, error) + DeleteParallelDataWithContext(aws.Context, *translate.DeleteParallelDataInput, ...request.Option) (*translate.DeleteParallelDataOutput, error) + DeleteParallelDataRequest(*translate.DeleteParallelDataInput) (*request.Request, *translate.DeleteParallelDataOutput) + DeleteTerminology(*translate.DeleteTerminologyInput) (*translate.DeleteTerminologyOutput, error) DeleteTerminologyWithContext(aws.Context, *translate.DeleteTerminologyInput, ...request.Option) (*translate.DeleteTerminologyOutput, error) DeleteTerminologyRequest(*translate.DeleteTerminologyInput) (*request.Request, *translate.DeleteTerminologyOutput) @@ -68,6 +76,10 @@ type TranslateAPI interface { DescribeTextTranslationJobWithContext(aws.Context, *translate.DescribeTextTranslationJobInput, ...request.Option) (*translate.DescribeTextTranslationJobOutput, error) DescribeTextTranslationJobRequest(*translate.DescribeTextTranslationJobInput) (*request.Request, *translate.DescribeTextTranslationJobOutput) + GetParallelData(*translate.GetParallelDataInput) (*translate.GetParallelDataOutput, error) + GetParallelDataWithContext(aws.Context, *translate.GetParallelDataInput, ...request.Option) (*translate.GetParallelDataOutput, error) + GetParallelDataRequest(*translate.GetParallelDataInput) (*request.Request, *translate.GetParallelDataOutput) + GetTerminology(*translate.GetTerminologyInput) (*translate.GetTerminologyOutput, error) GetTerminologyWithContext(aws.Context, *translate.GetTerminologyInput, ...request.Option) (*translate.GetTerminologyOutput, error) GetTerminologyRequest(*translate.GetTerminologyInput) (*request.Request, *translate.GetTerminologyOutput) @@ -76,6 +88,13 @@ type TranslateAPI interface { ImportTerminologyWithContext(aws.Context, *translate.ImportTerminologyInput, ...request.Option) (*translate.ImportTerminologyOutput, error) ImportTerminologyRequest(*translate.ImportTerminologyInput) (*request.Request, *translate.ImportTerminologyOutput) + ListParallelData(*translate.ListParallelDataInput) (*translate.ListParallelDataOutput, error) + ListParallelDataWithContext(aws.Context, *translate.ListParallelDataInput, ...request.Option) (*translate.ListParallelDataOutput, error) + ListParallelDataRequest(*translate.ListParallelDataInput) (*request.Request, *translate.ListParallelDataOutput) + + ListParallelDataPages(*translate.ListParallelDataInput, func(*translate.ListParallelDataOutput, bool) bool) error + ListParallelDataPagesWithContext(aws.Context, *translate.ListParallelDataInput, func(*translate.ListParallelDataOutput, bool) bool, ...request.Option) error + ListTerminologies(*translate.ListTerminologiesInput) (*translate.ListTerminologiesOutput, error) ListTerminologiesWithContext(aws.Context, *translate.ListTerminologiesInput, ...request.Option) (*translate.ListTerminologiesOutput, error) ListTerminologiesRequest(*translate.ListTerminologiesInput) (*request.Request, *translate.ListTerminologiesOutput) @@ -101,6 +120,10 @@ type TranslateAPI interface { Text(*translate.TextInput) (*translate.TextOutput, error) TextWithContext(aws.Context, *translate.TextInput, ...request.Option) (*translate.TextOutput, error) TextRequest(*translate.TextInput) (*request.Request, *translate.TextOutput) + + UpdateParallelData(*translate.UpdateParallelDataInput) (*translate.UpdateParallelDataOutput, error) + UpdateParallelDataWithContext(aws.Context, *translate.UpdateParallelDataInput, ...request.Option) (*translate.UpdateParallelDataOutput, error) + UpdateParallelDataRequest(*translate.UpdateParallelDataInput) (*request.Request, *translate.UpdateParallelDataOutput) } var _ TranslateAPI = (*translate.Translate)(nil)