diff --git a/CHANGELOG.md b/CHANGELOG.md index 908348a1180..31dbb270390 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ +Release v1.35.8 (2020-10-15) +=== + +### Service Client Updates +* `service/accessanalyzer`: Updates service API and documentation +* `service/budgets`: Updates service API, documentation, and paginators + * This release introduces AWS Budgets Actions, allowing you to define an explicit response(or set of responses) to take when your budget exceeds it's action threshold. +* `service/ce`: Updates service API and documentation +* `service/dms`: Updates service API and documentation + * When creating Endpoints, Replication Instances, and Replication Tasks, the feature provides you the option to specify friendly name to the resources. +* `service/glue`: Updates service documentation + * API Documentation updates for Glue Get-Plan API +* `service/groundstation`: Updates service API and documentation +* `service/iot`: Updates service API and documentation + * Add new variable, lastStatusChangeDate, to DescribeDomainConfiguration API +* `service/macie2`: Updates service API and documentation +* `service/rds`: Updates service API and documentation + * Return tags for all resources in the output of DescribeDBInstances, DescribeDBSnapshots, DescribeDBClusters, and DescribeDBClusterSnapshots API operations. +* `service/rekognition`: Updates service API and documentation + * This SDK Release introduces new API (DetectProtectiveEquipment) for Amazon Rekognition. This release also adds ServiceQuotaExceeded exception to Amazon Rekognition IndexFaces API. +* `service/ssm`: Updates service API and documentation + * This Patch Manager release now supports searching for available packages from Amazon Linux and Amazon Linux 2 via the DescribeAvailablePatches API. +* `service/transfer`: Updates service API and documentation + * Add support to associate VPC Security Groups at server creation. +* `service/workmail`: Updates service API and documentation + * Add CreateOrganization and DeleteOrganization API operations. +* `service/workspaces`: Updates service documentation + * Documentation updates for WorkSpaces +* `service/xray`: Updates service API, documentation, and paginators + * Enhancing CreateGroup, UpdateGroup, GetGroup and GetGroups APIs to support configuring X-Ray Insights Notifications. Adding TraceLimit information into X-Ray BatchGetTraces API response. + +### SDK Bugs +* `s3control`: Fixes bug in SDK that caused input for certain s3control operation to be modified, when using ARNs. ([#3595](https://github.com/aws/aws-sdk-go/pull/3595)) + * Fixes [#3583](https://github.com/aws/aws-sdk-go/issues/3583). + Release v1.35.7 (2020-10-09) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 30c61af4472..8a1927a39ca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -3,6 +3,3 @@ ### SDK Enhancements ### SDK Bugs -* `s3control`: Fixes bug in SDK that caused input for certain s3control operation to be modified, when using ARNs. ([#3595](https://github.com/aws/aws-sdk-go/pull/3595)) - * Fixes [#3583](https://github.com/aws/aws-sdk-go/issues/3583). - \ No newline at end of file diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index c7de6b65c00..8b9fce3636f 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -7299,6 +7299,13 @@ var awscnPartition = partition{ }, }, }, + "servicediscovery": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "sms": service{ Endpoints: endpoints{ diff --git a/aws/version.go b/aws/version.go index 6fb04f44f09..d30eed81164 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.7" +const SDKVersion = "1.35.8" diff --git a/models/apis/accessanalyzer/2019-11-01/api-2.json b/models/apis/accessanalyzer/2019-11-01/api-2.json index a3bee7bd113..8f86d63b37b 100644 --- a/models/apis/accessanalyzer/2019-11-01/api-2.json +++ b/models/apis/accessanalyzer/2019-11-01/api-2.json @@ -12,6 +12,23 @@ "uid":"accessanalyzer-2019-11-01" }, "operations":{ + "ApplyArchiveRule":{ + "name":"ApplyArchiveRule", + "http":{ + "method":"PUT", + "requestUri":"/archive-rule", + "responseCode":200 + }, + "input":{"shape":"ApplyArchiveRuleRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, "CreateAnalyzer":{ "name":"CreateAnalyzer", "http":{ @@ -419,6 +436,21 @@ "type":"list", "member":{"shape":"AnalyzerSummary"} }, + "ApplyArchiveRuleRequest":{ + "type":"structure", + "required":[ + "analyzerArn", + "ruleName" + ], + "members":{ + "analyzerArn":{"shape":"AnalyzerArn"}, + "clientToken":{ + "shape":"String", + "idempotencyToken":true + }, + "ruleName":{"shape":"Name"} + } + }, "ArchiveRuleSummary":{ "type":"structure", "required":[ @@ -620,8 +652,8 @@ "FindingSourceType":{ "type":"string", "enum":[ - "BUCKET_ACL", "POLICY", + "BUCKET_ACL", "S3_ACCESS_POINT" ] }, @@ -799,7 +831,8 @@ }, "error":{"httpStatusCode":500}, "exception":true, - "fault":true + "fault":true, + "retryable":{"throttling":false} }, "ListAnalyzedResourcesRequest":{ "type":"structure", @@ -964,12 +997,12 @@ "ResourceType":{ "type":"string", "enum":[ + "AWS::S3::Bucket", "AWS::IAM::Role", - "AWS::KMS::Key", + "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", - "AWS::S3::Bucket", - "AWS::SQS::Queue" + "AWS::KMS::Key" ] }, "ServiceQuotaExceededException":{ @@ -1064,7 +1097,8 @@ "httpStatusCode":429, "senderFault":true }, - "exception":true + "exception":true, + "retryable":{"throttling":true} }, "Timestamp":{ "type":"timestamp", @@ -1179,10 +1213,10 @@ "ValidationExceptionReason":{ "type":"string", "enum":[ + "unknownOperation", "cannotParse", "fieldValidationFailed", - "other", - "unknownOperation" + "other" ] }, "ValueList":{ diff --git a/models/apis/accessanalyzer/2019-11-01/docs-2.json b/models/apis/accessanalyzer/2019-11-01/docs-2.json index 4d25aa54cd3..c90f9e7b956 100644 --- a/models/apis/accessanalyzer/2019-11-01/docs-2.json +++ b/models/apis/accessanalyzer/2019-11-01/docs-2.json @@ -2,8 +2,9 @@ "version": "2.0", "service": "

AWS IAM Access Analyzer helps identify potential resource-access risks by enabling you to identify any policies that grant access to an external principal. It does this by using logic-based reasoning to analyze resource-based policies in your AWS environment. An external principal can be another AWS account, a root user, an IAM user or role, a federated user, an AWS service, or an anonymous user. This guide describes the AWS IAM Access Analyzer operations that you can call programmatically. For general information about Access Analyzer, see the AWS IAM Access Analyzer section of the IAM User Guide.

To start using Access Analyzer, you first need to create an analyzer.

", "operations": { + "ApplyArchiveRule": "

Retroactively applies the archive rule to existing findings that meet the archive rule criteria.

", "CreateAnalyzer": "

Creates an analyzer for your account.

", - "CreateArchiveRule": "

Creates an archive rule for the specified analyzer. Archive rules automatically archive findings that meet the criteria you define when you create the rule.

", + "CreateArchiveRule": "

Creates an archive rule for the specified analyzer. Archive rules automatically archive new findings that meet the criteria you define when you create the rule.

", "DeleteAnalyzer": "

Deletes the specified analyzer. When you delete an analyzer, Access Analyzer is disabled for the account in the current or specific Region. All findings that were generated by the analyzer are deleted. You cannot undo this action.

", "DeleteArchiveRule": "

Deletes the specified archive rule.

", "GetAnalyzedResource": "

Retrieves information about a resource that was analyzed.

", @@ -57,6 +58,7 @@ "base": null, "refs": { "AnalyzerSummary$arn": "

The ARN of the analyzer.

", + "ApplyArchiveRuleRequest$analyzerArn": "

The Amazon resource name (ARN) of the analyzer.

", "CreateAnalyzerResponse$arn": "

The ARN of the analyzer that was created by the request.

", "GetAnalyzedResourceRequest$analyzerArn": "

The ARN of the analyzer to retrieve information from.

", "GetFindingRequest$analyzerArn": "

The ARN of the analyzer that generated the finding.

", @@ -85,6 +87,11 @@ "ListAnalyzersResponse$analyzers": "

The analyzers retrieved.

" } }, + "ApplyArchiveRuleRequest": { + "base": "

Retroactively applies an archive rule.

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

Contains information about an archive rule.

", "refs": { @@ -354,6 +361,7 @@ "base": null, "refs": { "AnalyzerSummary$name": "

The name of the analyzer.

", + "ApplyArchiveRuleRequest$ruleName": "

The name of the rule to apply.

", "ArchiveRuleSummary$ruleName": "

The name of the archive rule.

", "CreateAnalyzerRequest$analyzerName": "

The name of the analyzer to create.

", "CreateArchiveRuleRequest$analyzerName": "

The name of the created analyzer.

", @@ -451,6 +459,7 @@ "AnalyzedResource$resourceOwnerAccount": "

The AWS account ID that owns the resource.

", "AnalyzedResourceSummary$resourceOwnerAccount": "

The AWS account ID that owns the resource.

", "AnalyzerSummary$lastResourceAnalyzed": "

The resource that was most recently analyzed by the analyzer.

", + "ApplyArchiveRuleRequest$clientToken": "

A client token.

", "ConditionKeyMap$key": null, "ConditionKeyMap$value": null, "ConflictException$message": null, diff --git a/models/apis/budgets/2016-10-20/api-2.json b/models/apis/budgets/2016-10-20/api-2.json index f9d698ca59f..0847bc32024 100755 --- a/models/apis/budgets/2016-10-20/api-2.json +++ b/models/apis/budgets/2016-10-20/api-2.json @@ -29,6 +29,23 @@ {"shape":"AccessDeniedException"} ] }, + "CreateBudgetAction":{ + "name":"CreateBudgetAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateBudgetActionRequest"}, + "output":{"shape":"CreateBudgetActionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InternalErrorException"}, + {"shape":"CreationLimitExceededException"}, + {"shape":"DuplicateRecordException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"} + ] + }, "CreateNotification":{ "name":"CreateNotification", "http":{ @@ -78,6 +95,22 @@ {"shape":"AccessDeniedException"} ] }, + "DeleteBudgetAction":{ + "name":"DeleteBudgetAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBudgetActionRequest"}, + "output":{"shape":"DeleteBudgetActionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceLockedException"} + ] + }, "DeleteNotification":{ "name":"DeleteNotification", "http":{ @@ -123,6 +156,68 @@ {"shape":"AccessDeniedException"} ] }, + "DescribeBudgetAction":{ + "name":"DescribeBudgetAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBudgetActionRequest"}, + "output":{"shape":"DescribeBudgetActionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"} + ] + }, + "DescribeBudgetActionHistories":{ + "name":"DescribeBudgetActionHistories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBudgetActionHistoriesRequest"}, + "output":{"shape":"DescribeBudgetActionHistoriesResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidNextTokenException"} + ] + }, + "DescribeBudgetActionsForAccount":{ + "name":"DescribeBudgetActionsForAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBudgetActionsForAccountRequest"}, + "output":{"shape":"DescribeBudgetActionsForAccountResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidNextTokenException"} + ] + }, + "DescribeBudgetActionsForBudget":{ + "name":"DescribeBudgetActionsForBudget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBudgetActionsForBudgetRequest"}, + "output":{"shape":"DescribeBudgetActionsForBudgetResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidNextTokenException"} + ] + }, "DescribeBudgetPerformanceHistory":{ "name":"DescribeBudgetPerformanceHistory", "http":{ @@ -191,6 +286,22 @@ {"shape":"AccessDeniedException"} ] }, + "ExecuteBudgetAction":{ + "name":"ExecuteBudgetAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExecuteBudgetActionRequest"}, + "output":{"shape":"ExecuteBudgetActionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceLockedException"} + ] + }, "UpdateBudget":{ "name":"UpdateBudget", "http":{ @@ -206,6 +317,22 @@ {"shape":"AccessDeniedException"} ] }, + "UpdateBudgetAction":{ + "name":"UpdateBudgetAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateBudgetActionRequest"}, + "output":{"shape":"UpdateBudgetActionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceLockedException"} + ] + }, "UpdateNotification":{ "name":"UpdateNotification", "http":{ @@ -253,6 +380,125 @@ "min":12, "pattern":"\\d{12}" }, + "Action":{ + "type":"structure", + "required":[ + "ActionId", + "BudgetName", + "NotificationType", + "ActionType", + "ActionThreshold", + "Definition", + "ExecutionRoleArn", + "ApprovalModel", + "Status", + "Subscribers" + ], + "members":{ + "ActionId":{"shape":"ActionId"}, + "BudgetName":{"shape":"BudgetName"}, + "NotificationType":{"shape":"NotificationType"}, + "ActionType":{"shape":"ActionType"}, + "ActionThreshold":{"shape":"ActionThreshold"}, + "Definition":{"shape":"Definition"}, + "ExecutionRoleArn":{"shape":"RoleArn"}, + "ApprovalModel":{"shape":"ApprovalModel"}, + "Status":{"shape":"ActionStatus"}, + "Subscribers":{"shape":"Subscribers"} + } + }, + "ActionHistories":{ + "type":"list", + "member":{"shape":"ActionHistory"}, + "max":100, + "min":0 + }, + "ActionHistory":{ + "type":"structure", + "required":[ + "Timestamp", + "Status", + "EventType", + "ActionHistoryDetails" + ], + "members":{ + "Timestamp":{"shape":"GenericTimestamp"}, + "Status":{"shape":"ActionStatus"}, + "EventType":{"shape":"EventType"}, + "ActionHistoryDetails":{"shape":"ActionHistoryDetails"} + } + }, + "ActionHistoryDetails":{ + "type":"structure", + "required":[ + "Message", + "Action" + ], + "members":{ + "Message":{"shape":"GenericString"}, + "Action":{"shape":"Action"} + } + }, + "ActionId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" + }, + "ActionStatus":{ + "type":"string", + "enum":[ + "STANDBY", + "PENDING", + "EXECUTION_IN_PROGRESS", + "EXECUTION_SUCCESS", + "EXECUTION_FAILURE", + "REVERSE_IN_PROGRESS", + "REVERSE_SUCCESS", + "REVERSE_FAILURE", + "RESET_IN_PROGRESS", + "RESET_FAILURE" + ] + }, + "ActionSubType":{ + "type":"string", + "enum":[ + "STOP_EC2_INSTANCES", + "STOP_RDS_INSTANCES" + ] + }, + "ActionThreshold":{ + "type":"structure", + "required":[ + "ActionThresholdValue", + "ActionThresholdType" + ], + "members":{ + "ActionThresholdValue":{"shape":"NotificationThreshold"}, + "ActionThresholdType":{"shape":"ThresholdType"} + } + }, + "ActionType":{ + "type":"string", + "enum":[ + "APPLY_IAM_POLICY", + "APPLY_SCP_POLICY", + "RUN_SSM_DOCUMENTS" + ] + }, + "Actions":{ + "type":"list", + "member":{"shape":"Action"}, + "max":100, + "min":0 + }, + "ApprovalModel":{ + "type":"string", + "enum":[ + "AUTOMATIC", + "MANUAL" + ] + }, "Budget":{ "type":"structure", "required":[ @@ -354,6 +600,44 @@ "UseAmortized":{"shape":"NullableBoolean"} } }, + "CreateBudgetActionRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "NotificationType", + "ActionType", + "ActionThreshold", + "Definition", + "ExecutionRoleArn", + "ApprovalModel", + "Subscribers" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "NotificationType":{"shape":"NotificationType"}, + "ActionType":{"shape":"ActionType"}, + "ActionThreshold":{"shape":"ActionThreshold"}, + "Definition":{"shape":"Definition"}, + "ExecutionRoleArn":{"shape":"RoleArn"}, + "ApprovalModel":{"shape":"ApprovalModel"}, + "Subscribers":{"shape":"Subscribers"} + } + }, + "CreateBudgetActionResponse":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "ActionId" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "ActionId":{"shape":"ActionId"} + } + }, "CreateBudgetRequest":{ "type":"structure", "required":[ @@ -418,6 +702,40 @@ }, "exception":true }, + "Definition":{ + "type":"structure", + "members":{ + "IamActionDefinition":{"shape":"IamActionDefinition"}, + "ScpActionDefinition":{"shape":"ScpActionDefinition"}, + "SsmActionDefinition":{"shape":"SsmActionDefinition"} + } + }, + "DeleteBudgetActionRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "ActionId" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "ActionId":{"shape":"ActionId"} + } + }, + "DeleteBudgetActionResponse":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "Action" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "Action":{"shape":"Action"} + } + }, "DeleteBudgetRequest":{ "type":"structure", "required":[ @@ -472,6 +790,94 @@ "members":{ } }, + "DescribeBudgetActionHistoriesRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "ActionId" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "ActionId":{"shape":"ActionId"}, + "TimePeriod":{"shape":"TimePeriod"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "DescribeBudgetActionHistoriesResponse":{ + "type":"structure", + "required":["ActionHistories"], + "members":{ + "ActionHistories":{"shape":"ActionHistories"}, + "NextToken":{"shape":"GenericString"} + } + }, + "DescribeBudgetActionRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "ActionId" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "ActionId":{"shape":"ActionId"} + } + }, + "DescribeBudgetActionResponse":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "Action" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "Action":{"shape":"Action"} + } + }, + "DescribeBudgetActionsForAccountRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{"shape":"AccountId"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "DescribeBudgetActionsForAccountResponse":{ + "type":"structure", + "required":["Actions"], + "members":{ + "Actions":{"shape":"Actions"}, + "NextToken":{"shape":"GenericString"} + } + }, + "DescribeBudgetActionsForBudgetRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "DescribeBudgetActionsForBudgetResponse":{ + "type":"structure", + "required":["Actions"], + "members":{ + "Actions":{"shape":"Actions"}, + "NextToken":{"shape":"GenericString"} + } + }, "DescribeBudgetPerformanceHistoryRequest":{ "type":"structure", "required":[ @@ -579,6 +985,55 @@ }, "exception":true }, + "EventType":{ + "type":"string", + "enum":[ + "SYSTEM", + "CREATE_ACTION", + "DELETE_ACTION", + "UPDATE_ACTION", + "EXECUTE_ACTION" + ] + }, + "ExecuteBudgetActionRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "ActionId", + "ExecutionType" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "ActionId":{"shape":"ActionId"}, + "ExecutionType":{"shape":"ExecutionType"} + } + }, + "ExecuteBudgetActionResponse":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "ActionId", + "ExecutionType" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "ActionId":{"shape":"ActionId"}, + "ExecutionType":{"shape":"ExecutionType"} + } + }, + "ExecutionType":{ + "type":"string", + "enum":[ + "APPROVE_BUDGET_ACTION", + "RETRY_BUDGET_ACTION", + "REVERSE_BUDGET_ACTION", + "RESET_BUDGET_ACTION" + ] + }, "ExpiredNextTokenException":{ "type":"structure", "members":{ @@ -593,6 +1048,40 @@ "pattern":".*" }, "GenericTimestamp":{"type":"timestamp"}, + "Group":{ + "type":"string", + "max":640, + "min":1, + "pattern":"^([\\u0021-\\u007F]+\\u002F)?[\\w+=,.@-]+$" + }, + "Groups":{ + "type":"list", + "member":{"shape":"Group"}, + "max":100, + "min":1 + }, + "IamActionDefinition":{ + "type":"structure", + "required":["PolicyArn"], + "members":{ + "PolicyArn":{"shape":"PolicyArn"}, + "Roles":{"shape":"Roles"}, + "Groups":{"shape":"Groups"}, + "Users":{"shape":"Users"} + } + }, + "InstanceId":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^i-(\\w{8}|\\w{17})$|^[a-zA-Z]([\\w-]{0,61}\\w)?$" + }, + "InstanceIds":{ + "type":"list", + "member":{"shape":"InstanceId"}, + "max":100, + "min":1 + }, "InternalErrorException":{ "type":"structure", "members":{ @@ -696,6 +1185,60 @@ "key":{"shape":"GenericString"}, "value":{"shape":"Spend"} }, + "PolicyArn":{ + "type":"string", + "max":684, + "min":25, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|us-iso-east-1|us-isob-east-1):iam::(\\d{12}|aws):policy(\\u002F[\\u0021-\\u007F]+\\u002F|\\u002F)[\\w+=,.@-]+$" + }, + "PolicyId":{ + "type":"string", + "max":130, + "min":10, + "pattern":"^p-[0-9a-zA-Z_]{8,128}$" + }, + "Region":{ + "type":"string", + "max":20, + "min":9, + "pattern":"^\\w{2}-\\w+(-\\w+)?-\\d$" + }, + "ResourceLockedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "exception":true + }, + "Role":{ + "type":"string", + "max":576, + "min":1, + "pattern":"^([\\u0021-\\u007F]+\\u002F)?[\\w+=,.@-]+$" + }, + "RoleArn":{ + "type":"string", + "max":618, + "min":32, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|us-iso-east-1|us-isob-east-1):iam::\\d{12}:role(\\u002F[\\u0021-\\u007F]+\\u002F|\\u002F)[\\w+=,.@-]+$" + }, + "Roles":{ + "type":"list", + "member":{"shape":"Role"}, + "max":100, + "min":1 + }, + "ScpActionDefinition":{ + "type":"structure", + "required":[ + "PolicyId", + "TargetIds" + ], + "members":{ + "PolicyId":{"shape":"PolicyId"}, + "TargetIds":{"shape":"TargetIds"} + } + }, "Spend":{ "type":"structure", "required":[ @@ -707,6 +1250,19 @@ "Unit":{"shape":"UnitValue"} } }, + "SsmActionDefinition":{ + "type":"structure", + "required":[ + "ActionSubType", + "Region", + "InstanceIds" + ], + "members":{ + "ActionSubType":{"shape":"ActionSubType"}, + "Region":{"shape":"Region"}, + "InstanceIds":{"shape":"InstanceIds"} + } + }, "Subscriber":{ "type":"structure", "required":[ @@ -738,6 +1294,18 @@ "EMAIL" ] }, + "TargetId":{ + "type":"string", + "max":68, + "min":12, + "pattern":"^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$)|(\\d{12})" + }, + "TargetIds":{ + "type":"list", + "member":{"shape":"TargetId"}, + "max":100, + "min":1 + }, "ThresholdType":{ "type":"string", "enum":[ @@ -767,6 +1335,40 @@ "min":1, "pattern":".*" }, + "UpdateBudgetActionRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "ActionId" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "ActionId":{"shape":"ActionId"}, + "NotificationType":{"shape":"NotificationType"}, + "ActionThreshold":{"shape":"ActionThreshold"}, + "Definition":{"shape":"Definition"}, + "ExecutionRoleArn":{"shape":"RoleArn"}, + "ApprovalModel":{"shape":"ApprovalModel"}, + "Subscribers":{"shape":"Subscribers"} + } + }, + "UpdateBudgetActionResponse":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName", + "OldAction", + "NewAction" + ], + "members":{ + "AccountId":{"shape":"AccountId"}, + "BudgetName":{"shape":"BudgetName"}, + "OldAction":{"shape":"Action"}, + "NewAction":{"shape":"Action"} + } + }, "UpdateBudgetRequest":{ "type":"structure", "required":[ @@ -825,6 +1427,18 @@ "members":{ } }, + "User":{ + "type":"string", + "max":576, + "min":1, + "pattern":"^([\\u0021-\\u007F]+\\u002F)?[\\w+=,.@-]+$" + }, + "Users":{ + "type":"list", + "member":{"shape":"User"}, + "max":100, + "min":1 + }, "errorMessage":{"type":"string"} } } diff --git a/models/apis/budgets/2016-10-20/docs-2.json b/models/apis/budgets/2016-10-20/docs-2.json index 60e736366d3..232fb2e6ae3 100755 --- a/models/apis/budgets/2016-10-20/docs-2.json +++ b/models/apis/budgets/2016-10-20/docs-2.json @@ -3,17 +3,25 @@ "service": "

The AWS Budgets API enables you to use AWS Budgets to plan your service usage, service costs, and instance reservations. The API reference provides descriptions, syntax, and usage examples for each of the actions and data types for AWS Budgets.

Budgets provide you with a way to see the following information:

AWS updates your budget status several times a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You can create the following types of budgets:

Service Endpoint

The AWS Budgets API provides the following endpoint:

For information about costs that are associated with the AWS Budgets API, see AWS Cost Management Pricing.

", "operations": { "CreateBudget": "

Creates a budget and, if included, notifications and subscribers.

Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

", + "CreateBudgetAction": "

Creates a budget action.

", "CreateNotification": "

Creates a notification. You must create the budget before you create the associated notification.

", "CreateSubscriber": "

Creates a subscriber. You must create the associated budget and notification before you create the subscriber.

", "DeleteBudget": "

Deletes a budget. You can delete your budget at any time.

Deleting a budget also deletes the notifications and subscribers that are associated with that budget.

", + "DeleteBudgetAction": "

Deletes a budget action.

", "DeleteNotification": "

Deletes a notification.

Deleting a notification also deletes the subscribers that are associated with the notification.

", "DeleteSubscriber": "

Deletes a subscriber.

Deleting the last subscriber to a notification also deletes the notification.

", "DescribeBudget": "

Describes a budget.

The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

", + "DescribeBudgetAction": "

Describes a budget action detail.

", + "DescribeBudgetActionHistories": "

Describes a budget action history detail.

", + "DescribeBudgetActionsForAccount": "

Describes all of the budget actions for an account.

", + "DescribeBudgetActionsForBudget": "

Describes all of the budget actions for a budget.

", "DescribeBudgetPerformanceHistory": "

Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.

", "DescribeBudgets": "

Lists the budgets that are associated with an account.

The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

", "DescribeNotificationsForBudget": "

Lists the notifications that are associated with a budget.

", "DescribeSubscribersForNotification": "

Lists the subscribers that are associated with a notification.

", + "ExecuteBudgetAction": "

Executes a budget action.

", "UpdateBudget": "

Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting.

Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

", + "UpdateBudgetAction": "

Updates a budget action.

", "UpdateNotification": "

Updates a notification.

", "UpdateSubscriber": "

Updates a subscriber.

" }, @@ -26,22 +34,120 @@ "AccountId": { "base": "

The account ID of the user. It should be a 12-digit number.

", "refs": { + "CreateBudgetActionRequest$AccountId": null, + "CreateBudgetActionResponse$AccountId": null, "CreateBudgetRequest$AccountId": "

The accountId that is associated with the budget.

", "CreateNotificationRequest$AccountId": "

The accountId that is associated with the budget that you want to create a notification for.

", "CreateSubscriberRequest$AccountId": "

The accountId that is associated with the budget that you want to create a subscriber for.

", + "DeleteBudgetActionRequest$AccountId": null, + "DeleteBudgetActionResponse$AccountId": null, "DeleteBudgetRequest$AccountId": "

The accountId that is associated with the budget that you want to delete.

", "DeleteNotificationRequest$AccountId": "

The accountId that is associated with the budget whose notification you want to delete.

", "DeleteSubscriberRequest$AccountId": "

The accountId that is associated with the budget whose subscriber you want to delete.

", + "DescribeBudgetActionHistoriesRequest$AccountId": null, + "DescribeBudgetActionRequest$AccountId": null, + "DescribeBudgetActionResponse$AccountId": null, + "DescribeBudgetActionsForAccountRequest$AccountId": null, + "DescribeBudgetActionsForBudgetRequest$AccountId": null, "DescribeBudgetPerformanceHistoryRequest$AccountId": null, "DescribeBudgetRequest$AccountId": "

The accountId that is associated with the budget that you want a description of.

", "DescribeBudgetsRequest$AccountId": "

The accountId that is associated with the budgets that you want descriptions of.

", "DescribeNotificationsForBudgetRequest$AccountId": "

The accountId that is associated with the budget whose notifications you want descriptions of.

", "DescribeSubscribersForNotificationRequest$AccountId": "

The accountId that is associated with the budget whose subscribers you want descriptions of.

", + "ExecuteBudgetActionRequest$AccountId": null, + "ExecuteBudgetActionResponse$AccountId": null, + "UpdateBudgetActionRequest$AccountId": null, + "UpdateBudgetActionResponse$AccountId": null, "UpdateBudgetRequest$AccountId": "

The accountId that is associated with the budget that you want to update.

", "UpdateNotificationRequest$AccountId": "

The accountId that is associated with the budget whose notification you want to update.

", "UpdateSubscriberRequest$AccountId": "

The accountId that is associated with the budget whose subscriber you want to update.

" } }, + "Action": { + "base": "

A budget action resource.

", + "refs": { + "ActionHistoryDetails$Action": "

The budget action resource.

", + "Actions$member": null, + "DeleteBudgetActionResponse$Action": null, + "DescribeBudgetActionResponse$Action": "

A budget action resource.

", + "UpdateBudgetActionResponse$OldAction": "

The previous action resource information.

", + "UpdateBudgetActionResponse$NewAction": "

The updated action resource information.

" + } + }, + "ActionHistories": { + "base": null, + "refs": { + "DescribeBudgetActionHistoriesResponse$ActionHistories": "

The historical record of the budget action resource.

" + } + }, + "ActionHistory": { + "base": "

The historical records for a budget action.

", + "refs": { + "ActionHistories$member": null + } + }, + "ActionHistoryDetails": { + "base": "

The description of details of the event.

", + "refs": { + "ActionHistory$ActionHistoryDetails": "

The description of details of the event.

" + } + }, + "ActionId": { + "base": null, + "refs": { + "Action$ActionId": "

A system-generated universally unique identifier (UUID) for the action.

", + "CreateBudgetActionResponse$ActionId": "

A system-generated universally unique identifier (UUID) for the action.

", + "DeleteBudgetActionRequest$ActionId": "

A system-generated universally unique identifier (UUID) for the action.

", + "DescribeBudgetActionHistoriesRequest$ActionId": "

A system-generated universally unique identifier (UUID) for the action.

", + "DescribeBudgetActionRequest$ActionId": "

A system-generated universally unique identifier (UUID) for the action.

", + "ExecuteBudgetActionRequest$ActionId": "

A system-generated universally unique identifier (UUID) for the action.

", + "ExecuteBudgetActionResponse$ActionId": "

A system-generated universally unique identifier (UUID) for the action.

", + "UpdateBudgetActionRequest$ActionId": "

A system-generated universally unique identifier (UUID) for the action.

" + } + }, + "ActionStatus": { + "base": null, + "refs": { + "Action$Status": "

The status of action.

", + "ActionHistory$Status": "

The status of action at the time of the event.

" + } + }, + "ActionSubType": { + "base": null, + "refs": { + "SsmActionDefinition$ActionSubType": "

The action subType.

" + } + }, + "ActionThreshold": { + "base": "

The trigger threshold of the action.

", + "refs": { + "Action$ActionThreshold": "

The trigger threshold of the action.

", + "CreateBudgetActionRequest$ActionThreshold": null, + "UpdateBudgetActionRequest$ActionThreshold": null + } + }, + "ActionType": { + "base": null, + "refs": { + "Action$ActionType": "

The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.

", + "CreateBudgetActionRequest$ActionType": "

The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.

" + } + }, + "Actions": { + "base": null, + "refs": { + "DescribeBudgetActionsForAccountResponse$Actions": "

A list of the budget action resources information.

", + "DescribeBudgetActionsForBudgetResponse$Actions": "

A list of the budget action resources information.

" + } + }, + "ApprovalModel": { + "base": null, + "refs": { + "Action$ApprovalModel": "

This specifies if the action needs manual or automatic approval.

", + "CreateBudgetActionRequest$ApprovalModel": "

This specifies if the action needs manual or automatic approval.

", + "UpdateBudgetActionRequest$ApprovalModel": "

This specifies if the action needs manual or automatic approval.

" + } + }, "Budget": { "base": "

Represents the output of the CreateBudget operation. The content consists of the detailed metadata and data file information, and the current status of the budget object.

This is the ARN pattern for a budget:

arn:aws:budgets::AccountId:budget/budgetName

", "refs": { @@ -54,17 +160,30 @@ "BudgetName": { "base": "

A string that represents the budget name. The \":\" and \"\\\" characters aren't allowed.

", "refs": { + "Action$BudgetName": null, "Budget$BudgetName": "

The name of a budget. The name must be unique within an account. The : and \\ characters aren't allowed in BudgetName.

", "BudgetPerformanceHistory$BudgetName": null, + "CreateBudgetActionRequest$BudgetName": null, + "CreateBudgetActionResponse$BudgetName": null, "CreateNotificationRequest$BudgetName": "

The name of the budget that you want AWS to notify you about. Budget names must be unique within an account.

", "CreateSubscriberRequest$BudgetName": "

The name of the budget that you want to subscribe to. Budget names must be unique within an account.

", + "DeleteBudgetActionRequest$BudgetName": null, + "DeleteBudgetActionResponse$BudgetName": null, "DeleteBudgetRequest$BudgetName": "

The name of the budget that you want to delete.

", "DeleteNotificationRequest$BudgetName": "

The name of the budget whose notification you want to delete.

", "DeleteSubscriberRequest$BudgetName": "

The name of the budget whose subscriber you want to delete.

", + "DescribeBudgetActionHistoriesRequest$BudgetName": null, + "DescribeBudgetActionRequest$BudgetName": null, + "DescribeBudgetActionResponse$BudgetName": null, + "DescribeBudgetActionsForBudgetRequest$BudgetName": null, "DescribeBudgetPerformanceHistoryRequest$BudgetName": null, "DescribeBudgetRequest$BudgetName": "

The name of the budget that you want a description of.

", "DescribeNotificationsForBudgetRequest$BudgetName": "

The name of the budget whose notifications you want descriptions of.

", "DescribeSubscribersForNotificationRequest$BudgetName": "

The name of the budget whose subscribers you want descriptions of.

", + "ExecuteBudgetActionRequest$BudgetName": null, + "ExecuteBudgetActionResponse$BudgetName": null, + "UpdateBudgetActionRequest$BudgetName": null, + "UpdateBudgetActionResponse$BudgetName": null, "UpdateNotificationRequest$BudgetName": "

The name of the budget whose notification you want to update.

", "UpdateSubscriberRequest$BudgetName": "

The name of the budget whose subscriber you want to update.

" } @@ -126,6 +245,16 @@ "BudgetPerformanceHistory$CostTypes": "

The history of the cost types for a budget during the specified time period.

" } }, + "CreateBudgetActionRequest": { + "base": null, + "refs": { + } + }, + "CreateBudgetActionResponse": { + "base": null, + "refs": { + } + }, "CreateBudgetRequest": { "base": "

Request of CreateBudget

", "refs": { @@ -161,6 +290,24 @@ "refs": { } }, + "Definition": { + "base": "

Specifies all of the type-specific parameters.

", + "refs": { + "Action$Definition": "

Where you specify all of the type-specific parameters.

", + "CreateBudgetActionRequest$Definition": null, + "UpdateBudgetActionRequest$Definition": null + } + }, + "DeleteBudgetActionRequest": { + "base": null, + "refs": { + } + }, + "DeleteBudgetActionResponse": { + "base": null, + "refs": { + } + }, "DeleteBudgetRequest": { "base": "

Request of DeleteBudget

", "refs": { @@ -191,6 +338,46 @@ "refs": { } }, + "DescribeBudgetActionHistoriesRequest": { + "base": null, + "refs": { + } + }, + "DescribeBudgetActionHistoriesResponse": { + "base": null, + "refs": { + } + }, + "DescribeBudgetActionRequest": { + "base": null, + "refs": { + } + }, + "DescribeBudgetActionResponse": { + "base": null, + "refs": { + } + }, + "DescribeBudgetActionsForAccountRequest": { + "base": null, + "refs": { + } + }, + "DescribeBudgetActionsForAccountResponse": { + "base": null, + "refs": { + } + }, + "DescribeBudgetActionsForBudgetRequest": { + "base": null, + "refs": { + } + }, + "DescribeBudgetActionsForBudgetResponse": { + "base": null, + "refs": { + } + }, "DescribeBudgetPerformanceHistoryRequest": { "base": null, "refs": { @@ -252,6 +439,29 @@ "refs": { } }, + "EventType": { + "base": null, + "refs": { + "ActionHistory$EventType": "

This distinguishes between whether the events are triggered by the user or generated by the system.

" + } + }, + "ExecuteBudgetActionRequest": { + "base": null, + "refs": { + } + }, + "ExecuteBudgetActionResponse": { + "base": null, + "refs": { + } + }, + "ExecutionType": { + "base": null, + "refs": { + "ExecuteBudgetActionRequest$ExecutionType": "

The type of execution.

", + "ExecuteBudgetActionResponse$ExecutionType": "

The type of execution.

" + } + }, "ExpiredNextTokenException": { "base": "

The pagination token expired.

", "refs": { @@ -260,7 +470,14 @@ "GenericString": { "base": "

A generic string.

", "refs": { + "ActionHistoryDetails$Message": null, "CostFilters$key": null, + "DescribeBudgetActionHistoriesRequest$NextToken": null, + "DescribeBudgetActionHistoriesResponse$NextToken": null, + "DescribeBudgetActionsForAccountRequest$NextToken": null, + "DescribeBudgetActionsForAccountResponse$NextToken": null, + "DescribeBudgetActionsForBudgetRequest$NextToken": null, + "DescribeBudgetActionsForBudgetResponse$NextToken": null, "DescribeBudgetPerformanceHistoryRequest$NextToken": null, "DescribeBudgetPerformanceHistoryResponse$NextToken": null, "DescribeBudgetsRequest$NextToken": "

The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

", @@ -276,11 +493,42 @@ "GenericTimestamp": { "base": "

A generic time stamp. In Java, it is transformed to a Date object.

", "refs": { + "ActionHistory$Timestamp": null, "Budget$LastUpdatedTime": "

The last time that you updated this budget.

", "TimePeriod$Start": "

The start date for a budget. If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

You can change your start date with the UpdateBudget operation.

", "TimePeriod$End": "

The end date for a budget. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

After the end date, AWS deletes the budget and all associated notifications and subscribers. You can change your end date with the UpdateBudget operation.

" } }, + "Group": { + "base": null, + "refs": { + "Groups$member": null + } + }, + "Groups": { + "base": null, + "refs": { + "IamActionDefinition$Groups": "

A list of groups to be attached. There must be at least one group.

" + } + }, + "IamActionDefinition": { + "base": "

The AWS Identity and Access Management (IAM) action definition details.

", + "refs": { + "Definition$IamActionDefinition": "

The AWS Identity and Access Management (IAM) action definition details.

" + } + }, + "InstanceId": { + "base": null, + "refs": { + "InstanceIds$member": null + } + }, + "InstanceIds": { + "base": null, + "refs": { + "SsmActionDefinition$InstanceIds": "

The EC2 and RDS instance IDs.

" + } + }, "InternalErrorException": { "base": "

An error on the server occurred during the processing of your request. Try again later.

", "refs": { @@ -299,6 +547,9 @@ "MaxResults": { "base": "

An integer that represents how many entries a paginated response contains. The maximum is 100.

", "refs": { + "DescribeBudgetActionHistoriesRequest$MaxResults": null, + "DescribeBudgetActionsForAccountRequest$MaxResults": null, + "DescribeBudgetActionsForBudgetRequest$MaxResults": null, "DescribeBudgetPerformanceHistoryRequest$MaxResults": null, "DescribeBudgetsRequest$MaxResults": "

An optional integer that represents how many entries a paginated response contains. The maximum is 100.

", "DescribeNotificationsForBudgetRequest$MaxResults": "

An optional integer that represents how many entries a paginated response contains. The maximum is 100.

", @@ -332,15 +583,19 @@ } }, "NotificationThreshold": { - "base": "

The threshold of a notification. It must be a number between 0 and 1,000,000,000.

", + "base": "

The threshold of a notification.

", "refs": { + "ActionThreshold$ActionThresholdValue": null, "Notification$Threshold": "

The threshold that is associated with a notification. Thresholds are always a percentage, and many customers find value being alerted between 50% - 200% of the budgeted amount. The maximum limit for your threshold is 1,000,000% above the budgeted amount.

" } }, "NotificationType": { "base": "

The type of a notification. It must be ACTUAL or FORECASTED.

", "refs": { - "Notification$NotificationType": "

Whether the notification is for how much you have spent (ACTUAL) or for how much you're forecasted to spend (FORECASTED).

" + "Action$NotificationType": null, + "CreateBudgetActionRequest$NotificationType": null, + "Notification$NotificationType": "

Whether the notification is for how much you have spent (ACTUAL) or for how much you're forecasted to spend (FORECASTED).

", + "UpdateBudgetActionRequest$NotificationType": null } }, "NotificationWithSubscribers": { @@ -389,6 +644,55 @@ "Budget$PlannedBudgetLimits": "

A map containing multiple BudgetLimit, including current or future limits.

PlannedBudgetLimits is available for cost or usage budget and supports monthly and quarterly TimeUnit.

For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

For quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries in standard calendar quarter increments. This must start from the current quarter and include the next 3 quarters. The key is the start of the quarter, UTC in epoch seconds.

If the planned budget expires before 12 months for monthly or 4 quarters for quarterly, provide the PlannedBudgetLimits values only for the remaining periods.

If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits will also contain BudgetLimit representing the current month or quarter limit present in PlannedBudgetLimits. This only applies to budgets created with PlannedBudgetLimits. Budgets created without PlannedBudgetLimits will only contain BudgetLimit, and no PlannedBudgetLimits.

" } }, + "PolicyArn": { + "base": null, + "refs": { + "IamActionDefinition$PolicyArn": "

The Amazon Resource Name (ARN) of the policy to be attached.

" + } + }, + "PolicyId": { + "base": null, + "refs": { + "ScpActionDefinition$PolicyId": "

The policy ID attached.

" + } + }, + "Region": { + "base": null, + "refs": { + "SsmActionDefinition$Region": "

The Region to run the SSM document.

" + } + }, + "ResourceLockedException": { + "base": "

The request was received and recognized by the server, but the server rejected that particular method for the requested resource.

", + "refs": { + } + }, + "Role": { + "base": null, + "refs": { + "Roles$member": null + } + }, + "RoleArn": { + "base": null, + "refs": { + "Action$ExecutionRoleArn": "

The role passed for action execution and reversion. Roles and actions must be in the same account.

", + "CreateBudgetActionRequest$ExecutionRoleArn": "

The role passed for action execution and reversion. Roles and actions must be in the same account.

", + "UpdateBudgetActionRequest$ExecutionRoleArn": "

The role passed for action execution and reversion. Roles and actions must be in the same account.

" + } + }, + "Roles": { + "base": null, + "refs": { + "IamActionDefinition$Roles": "

A list of roles to be attached. There must be at least one role.

" + } + }, + "ScpActionDefinition": { + "base": "

The service control policies (SCP) action definition details.

", + "refs": { + "Definition$ScpActionDefinition": "

The service control policies (SCPs) action definition details.

" + } + }, "Spend": { "base": "

The amount of cost or usage that is measured for a budget.

For example, a Spend for 3 GB of S3 usage would have the following parameters:

", "refs": { @@ -400,6 +704,12 @@ "PlannedBudgetLimits$value": null } }, + "SsmActionDefinition": { + "base": "

The AWS Systems Manager (SSM) action definition details.

", + "refs": { + "Definition$SsmActionDefinition": "

The AWS Systems Manager (SSM) action definition details.

" + } + }, "Subscriber": { "base": "

The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

For example, an email subscriber would have the following parameters:

", "refs": { @@ -419,9 +729,12 @@ "Subscribers": { "base": "

A list of subscribers.

", "refs": { + "Action$Subscribers": null, + "CreateBudgetActionRequest$Subscribers": null, "CreateNotificationRequest$Subscribers": "

A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to 10 email subscribers.

", "DescribeSubscribersForNotificationResponse$Subscribers": "

A list of subscribers that are associated with a notification.

", - "NotificationWithSubscribers$Subscribers": "

A list of subscribers who are subscribed to this notification.

" + "NotificationWithSubscribers$Subscribers": "

A list of subscribers who are subscribed to this notification.

", + "UpdateBudgetActionRequest$Subscribers": null } }, "SubscriptionType": { @@ -430,9 +743,22 @@ "Subscriber$SubscriptionType": "

The type of notification that AWS sends to a subscriber.

" } }, + "TargetId": { + "base": null, + "refs": { + "TargetIds$member": null + } + }, + "TargetIds": { + "base": null, + "refs": { + "ScpActionDefinition$TargetIds": "

A list of target IDs.

" + } + }, "ThresholdType": { - "base": "

The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.

", + "base": "

The type of threshold for a notification.

", "refs": { + "ActionThreshold$ActionThresholdType": null, "Notification$ThresholdType": "

The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, AWS notifies you when you go over or are forecasted to go over your total cost threshold. For PERCENTAGE thresholds, AWS notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a PERCENTAGE threshold of 80%, AWS notifies you when you go over 160 dollars.

" } }, @@ -441,6 +767,7 @@ "refs": { "Budget$TimePeriod": "

The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. The end date must come before 06/15/87 00:00 UTC.

If you create your budget and don't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

You can change either date with the UpdateBudget operation.

After the end date, AWS deletes the budget and all associated notifications and subscribers.

", "BudgetedAndActualAmounts$TimePeriod": "

The time period covered by this budget comparison.

", + "DescribeBudgetActionHistoriesRequest$TimePeriod": null, "DescribeBudgetPerformanceHistoryRequest$TimePeriod": "

Retrieves how often the budget went into an ALARM state for the specified time period.

" } }, @@ -457,6 +784,16 @@ "Spend$Unit": "

The unit of measurement that is used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.

" } }, + "UpdateBudgetActionRequest": { + "base": null, + "refs": { + } + }, + "UpdateBudgetActionResponse": { + "base": null, + "refs": { + } + }, "UpdateBudgetRequest": { "base": "

Request of UpdateBudget

", "refs": { @@ -487,6 +824,18 @@ "refs": { } }, + "User": { + "base": null, + "refs": { + "Users$member": null + } + }, + "Users": { + "base": null, + "refs": { + "IamActionDefinition$Users": "

A list of users to be attached. There must be at least one user.

" + } + }, "errorMessage": { "base": "

The error message the exception carries.

", "refs": { @@ -497,7 +846,8 @@ "InternalErrorException$Message": null, "InvalidNextTokenException$Message": null, "InvalidParameterException$Message": null, - "NotFoundException$Message": null + "NotFoundException$Message": null, + "ResourceLockedException$Message": null } } } diff --git a/models/apis/budgets/2016-10-20/paginators-1.json b/models/apis/budgets/2016-10-20/paginators-1.json index 03c71c8e45e..d317a71f3c6 100644 --- a/models/apis/budgets/2016-10-20/paginators-1.json +++ b/models/apis/budgets/2016-10-20/paginators-1.json @@ -1,5 +1,23 @@ { "pagination": { + "DescribeBudgetActionHistories": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ActionHistories" + }, + "DescribeBudgetActionsForAccount": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Actions" + }, + "DescribeBudgetActionsForBudget": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Actions" + }, "DescribeBudgetPerformanceHistory": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/apis/ce/2017-10-25/api-2.json b/models/apis/ce/2017-10-25/api-2.json index 8b74e54b7c3..8f3a8c8bcb6 100644 --- a/models/apis/ce/2017-10-25/api-2.json +++ b/models/apis/ce/2017-10-25/api-2.json @@ -2054,7 +2054,7 @@ "type":"string", "max":302, "min":6, - "pattern":"(^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$)|(^arn:(aws[a-zA-Z-]*):sns:[a-zA-Z0-9-]+:[0-9]{12}:[a-zA-Z0-9_-]+$)" + "pattern":"(^[a-zA-Z0-9.!#$%&'*+=?^_‘{|}~-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$)|(^arn:(aws[a-zA-Z-]*):sns:[a-zA-Z0-9-]+:[0-9]{12}:[a-zA-Z0-9_-]+$)" }, "SubscriberStatus":{ "type":"string", diff --git a/models/apis/ce/2017-10-25/docs-2.json b/models/apis/ce/2017-10-25/docs-2.json index 5ad36992cc8..63a446aeb70 100644 --- a/models/apis/ce/2017-10-25/docs-2.json +++ b/models/apis/ce/2017-10-25/docs-2.json @@ -955,7 +955,7 @@ "refs": { "GetCostAndUsageRequest$GroupBy": "

You can group AWS costs using up to two different groups, either dimensions, tag keys, cost categories, or any two group by types.

When you group by tag key, you get all tag values, including empty strings.

Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, TENANCY, RECORD_TYPE, and USAGE_TYPE.

", "GetCostAndUsageResponse$GroupDefinitions": "

The groups that are specified by the Filter or GroupBy parameters in the request.

", - "GetCostAndUsageWithResourcesRequest$GroupBy": "

You can group Amazon Web Services costs using up to two different groups: either dimensions, tag keys, or both.

", + "GetCostAndUsageWithResourcesRequest$GroupBy": "

You can group Amazon Web Services costs using up to two different groups: DIMENSION, TAG, COST_CATEGORY.

", "GetCostAndUsageWithResourcesResponse$GroupDefinitions": "

The groups that are specified by the Filter or GroupBy parameters in the request.

", "GetReservationCoverageRequest$GroupBy": "

You can group the data by the following attributes:

", "GetReservationUtilizationRequest$GroupBy": "

Groups only by SUBSCRIPTION_ID. Metadata is included.

", diff --git a/models/apis/dms/2016-01-01/api-2.json b/models/apis/dms/2016-01-01/api-2.json index 44870cd981f..21b6fd77175 100644 --- a/models/apis/dms/2016-01-01/api-2.json +++ b/models/apis/dms/2016-01-01/api-2.json @@ -918,7 +918,8 @@ "OracleSettings":{"shape":"OracleSettings"}, "SybaseSettings":{"shape":"SybaseSettings"}, "MicrosoftSQLServerSettings":{"shape":"MicrosoftSQLServerSettings"}, - "IBMDb2Settings":{"shape":"IBMDb2Settings"} + "IBMDb2Settings":{"shape":"IBMDb2Settings"}, + "ResourceIdentifier":{"shape":"String"} } }, "CreateEndpointResponse":{ @@ -969,7 +970,8 @@ "Tags":{"shape":"TagList"}, "KmsKeyId":{"shape":"String"}, "PubliclyAccessible":{"shape":"BooleanOptional"}, - "DnsNameServers":{"shape":"String"} + "DnsNameServers":{"shape":"String"}, + "ResourceIdentifier":{"shape":"String"} } }, "CreateReplicationInstanceResponse":{ @@ -1020,7 +1022,8 @@ "CdcStartPosition":{"shape":"String"}, "CdcStopPosition":{"shape":"String"}, "Tags":{"shape":"TagList"}, - "TaskData":{"shape":"String"} + "TaskData":{"shape":"String"}, + "ResourceIdentifier":{"shape":"String"} } }, "CreateReplicationTaskResponse":{ @@ -2138,11 +2141,14 @@ "AfterConnectScript":{"shape":"String"}, "BucketFolder":{"shape":"String"}, "BucketName":{"shape":"String"}, + "CaseSensitiveNames":{"shape":"BooleanOptional"}, + "CompUpdate":{"shape":"BooleanOptional"}, "ConnectionTimeout":{"shape":"IntegerOptional"}, "DatabaseName":{"shape":"String"}, "DateFormat":{"shape":"String"}, "EmptyAsNull":{"shape":"BooleanOptional"}, "EncryptionMode":{"shape":"EncryptionModeValue"}, + "ExplicitIds":{"shape":"BooleanOptional"}, "FileTransferUploadStreams":{"shape":"IntegerOptional"}, "LoadTimeout":{"shape":"IntegerOptional"}, "MaxFileSize":{"shape":"IntegerOptional"}, diff --git a/models/apis/dms/2016-01-01/docs-2.json b/models/apis/dms/2016-01-01/docs-2.json index 9b816d85eed..d79810f5790 100644 --- a/models/apis/dms/2016-01-01/docs-2.json +++ b/models/apis/dms/2016-01-01/docs-2.json @@ -172,7 +172,10 @@ "PostgreSQLSettings$FailTasksOnLobTruncation": "

When set to true, this value causes a task to fail if the actual size of a LOB column is greater than the specified LobMaxSize.

If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB data.

", "RebootReplicationInstanceMessage$ForceFailover": "

If this parameter is true, the reboot is conducted through a Multi-AZ failover. (If the instance isn't configured for Multi-AZ, then you can't specify true.)

", "RedshiftSettings$AcceptAnyDate": "

A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be loaded without generating an error. You can choose true or false (the default).

This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that field.

", + "RedshiftSettings$CaseSensitiveNames": "

If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames to true. The default is false.

", + "RedshiftSettings$CompUpdate": "

If you set CompUpdate to true Amazon Redshift applies automatic compression if the table is empty. This applies even if the table columns already have encodings other than RAW. If you set CompUpdate to false, automatic compression is disabled and existing column encodings aren't changed. The default is true.

", "RedshiftSettings$EmptyAsNull": "

A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of true sets empty CHAR and VARCHAR fields to null. The default is false.

", + "RedshiftSettings$ExplicitIds": "

This setting is only valid for a full-load migration task. Set ExplicitIds to true to have tables with IDENTITY columns override their auto-generated values with explicit values loaded from the source data files used to populate the tables. The default is false.

", "RedshiftSettings$RemoveQuotes": "

A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters within the quotation marks, including delimiters, are retained. Choose true to remove quotation marks. The default is false.

", "RedshiftSettings$TrimBlanks": "

A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter applies only to columns with a VARCHAR data type. Choose true to remove unneeded white space. The default is false.

", "RedshiftSettings$TruncateColumns": "

A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose true to truncate data. The default is false.

", @@ -302,7 +305,7 @@ "DatePartitionDelimiterValue": { "base": null, "refs": { - "S3Settings$DatePartitionDelimiter": "

Specifies a date separating delimiter to use during folder partitioning. The default value is SLASH (/). Use this parameter when DatePartitionedEnabled is set to true.

" + "S3Settings$DatePartitionDelimiter": "

Specifies a date separating delimiter to use during folder partitioning. The default value is SLASH. Use this parameter when DatePartitionedEnabled is set to true.

" } }, "DatePartitionSequenceValue": { @@ -1500,7 +1503,7 @@ "StartReplicationTaskTypeValue": { "base": null, "refs": { - "StartReplicationTaskMessage$StartReplicationTaskType": "

The type of replication task.

" + "StartReplicationTaskMessage$StartReplicationTaskType": "

A type of replication task.

" } }, "StopReplicationTaskMessage": { @@ -1550,6 +1553,7 @@ "CreateEndpointMessage$CertificateArn": "

The Amazon Resource Name (ARN) for the certificate.

", "CreateEndpointMessage$ServiceAccessRoleArn": "

The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint.

", "CreateEndpointMessage$ExternalTableDefinition": "

The external table definition.

", + "CreateEndpointMessage$ResourceIdentifier": "

A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, AWS DMS generates a default identifier value for the end of EndpointArn.

", "CreateEventSubscriptionMessage$SubscriptionName": "

The name of the AWS DMS event notification subscription. This name must be less than 255 characters.

", "CreateEventSubscriptionMessage$SnsTopicArn": "

The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

", "CreateEventSubscriptionMessage$SourceType": "

The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to replication-instance. If this value isn't specified, all events are returned.

Valid values: replication-instance | replication-task

", @@ -1561,6 +1565,7 @@ "CreateReplicationInstanceMessage$EngineVersion": "

The engine version number of the replication instance.

If an engine version number is not specified when a replication instance is created, the default is the latest engine version available.

", "CreateReplicationInstanceMessage$KmsKeyId": "

An AWS KMS key identifier that is used to encrypt the data on the replication instance.

If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

", "CreateReplicationInstanceMessage$DnsNameServers": "

A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: \"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4\"

", + "CreateReplicationInstanceMessage$ResourceIdentifier": "

A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, AWS DMS generates a default identifier value for the end of EndpointArn.

", "CreateReplicationSubnetGroupMessage$ReplicationSubnetGroupIdentifier": "

The name for the replication subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens. Must not be \"default\".

Example: mySubnetgroup

", "CreateReplicationSubnetGroupMessage$ReplicationSubnetGroupDescription": "

The description for the subnet group.

", "CreateReplicationTaskMessage$ReplicationTaskIdentifier": "

An identifier for the replication task.

Constraints:

", @@ -1572,6 +1577,7 @@ "CreateReplicationTaskMessage$CdcStartPosition": "

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.

", "CreateReplicationTaskMessage$CdcStopPosition": "

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “

", "CreateReplicationTaskMessage$TaskData": "

Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration Service User Guide.

", + "CreateReplicationTaskMessage$ResourceIdentifier": "

A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, AWS DMS generates a default identifier value for the end of EndpointArn.

", "DeleteCertificateMessage$CertificateArn": "

The Amazon Resource Name (ARN) of the deleted certificate.

", "DeleteConnectionMessage$EndpointArn": "

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

", "DeleteConnectionMessage$ReplicationInstanceArn": "

The Amazon Resource Name (ARN) of the replication instance.

", diff --git a/models/apis/glue/2017-03-31/docs-2.json b/models/apis/glue/2017-03-31/docs-2.json index b48d5fb5bb8..c0a57f83b4e 100644 --- a/models/apis/glue/2017-03-31/docs-2.json +++ b/models/apis/glue/2017-03-31/docs-2.json @@ -161,7 +161,7 @@ "AdditionalPlanOptionsMap": { "base": null, "refs": { - "GetPlanRequest$AdditionalPlanOptionsMap": "

A map to hold additional optional key-value parameters.

" + "GetPlanRequest$AdditionalPlanOptionsMap": "

A map to hold additional optional key-value parameters.

Currently, these key-value pairs are supported:

" } }, "AlreadyExistsException": { diff --git a/models/apis/groundstation/2019-05-23/api-2.json b/models/apis/groundstation/2019-05-23/api-2.json index dec13e87db8..91e3af4c5de 100644 --- a/models/apis/groundstation/2019-05-23/api-2.json +++ b/models/apis/groundstation/2019-05-23/api-2.json @@ -549,6 +549,7 @@ "enum":[ "AVAILABLE", "AWS_CANCELLED", + "AWS_FAILED", "CANCELLED", "CANCELLING", "COMPLETED", @@ -611,6 +612,7 @@ "type":"structure", "members":{ "destination":{"shape":"Destination"}, + "errorMessage":{"shape":"String"}, "source":{"shape":"Source"} } }, diff --git a/models/apis/groundstation/2019-05-23/docs-2.json b/models/apis/groundstation/2019-05-23/docs-2.json index 2925fa9e080..338f6ecd482 100644 --- a/models/apis/groundstation/2019-05-23/docs-2.json +++ b/models/apis/groundstation/2019-05-23/docs-2.json @@ -676,6 +676,7 @@ "ContactData$groundStation": "

Name of a ground station.

", "ContactData$region": "

Region of a contact.

", "ContactIdResponse$contactId": "

UUID of a contact.

", + "DataflowDetail$errorMessage": "

Error message for a dataflow.

", "DataflowEndpointConfig$dataflowEndpointName": "

Name of a dataflow endpoint.

", "DataflowEndpointConfig$dataflowEndpointRegion": "

Region of a dataflow endpoint.

", "DataflowEndpointGroupIdResponse$dataflowEndpointGroupId": "

UUID of a dataflow endpoint group.

", diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json index 7e03a5737fb..0497a2e0a8d 100644 --- a/models/apis/iot/2015-05-28/api-2.json +++ b/models/apis/iot/2015-05-28/api-2.json @@ -934,6 +934,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"DeleteConflictException"}, {"shape":"ThrottlingException"}, + {"shape":"ConflictingResourceUpdateException"}, {"shape":"UnauthorizedException"} ] }, @@ -951,6 +952,7 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"}, {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"}, {"shape":"DeleteConflictException"} ] }, @@ -3473,7 +3475,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"arn:aws:acm:[a-z]{2}-(gov-)?[a-z]{4,9}-\\d{1}:\\d{12}:certificate/?[a-zA-Z0-9/-]+" + "pattern":"arn:aws(-cn|-us-gov|-iso-b|-iso)?:acm:[a-z]{2}-(gov-|iso-|isob-)?[a-z]{4,9}-\\d{1}:\\d{12}:certificate/[a-zA-Z0-9/-]+" }, "Action":{ "type":"structure", @@ -4070,7 +4072,10 @@ "type":"list", "member":{"shape":"AuthResult"} }, - "AuthorizerArn":{"type":"string"}, + "AuthorizerArn":{ + "type":"string", + "max":2048 + }, "AuthorizerConfig":{ "type":"structure", "members":{ @@ -4095,7 +4100,10 @@ "signingDisabled":{"shape":"BooleanKey"} } }, - "AuthorizerFunctionArn":{"type":"string"}, + "AuthorizerFunctionArn":{ + "type":"string", + "max":2048 + }, "AuthorizerName":{ "type":"string", "max":128, @@ -6136,7 +6144,8 @@ "authorizerConfig":{"shape":"AuthorizerConfig"}, "domainConfigurationStatus":{"shape":"DomainConfigurationStatus"}, "serviceType":{"shape":"ServiceType"}, - "domainType":{"shape":"DomainType"} + "domainType":{"shape":"DomainType"}, + "lastStatusChangeDate":{"shape":"DateType"} } }, "DescribeEndpointRequest":{ @@ -9147,6 +9156,7 @@ }, "Marker":{ "type":"string", + "max":1024, "pattern":"[A-Za-z0-9+/]+={0,2}" }, "MaxJobExecutionsPerMin":{ @@ -9907,7 +9917,10 @@ "min":1, "pattern":"[\\w.:-]+" }, - "Resource":{"type":"string"}, + "Resource":{ + "type":"string", + "max":2048 + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json index 4d76b7de185..85091bcf991 100644 --- a/models/apis/iot/2015-05-28/docs-2.json +++ b/models/apis/iot/2015-05-28/docs-2.json @@ -323,10 +323,10 @@ "AdditionalMetricsToRetainList": { "base": null, "refs": { - "CreateSecurityProfileRequest$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

", - "DescribeSecurityProfileResponse$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead.

", - "UpdateSecurityProfileRequest$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

", - "UpdateSecurityProfileResponse$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the security profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead.

" + "CreateSecurityProfileRequest$additionalMetricsToRetain": "

Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", + "DescribeSecurityProfileResponse$additionalMetricsToRetain": "

Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", + "UpdateSecurityProfileRequest$additionalMetricsToRetain": "

Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", + "UpdateSecurityProfileResponse$additionalMetricsToRetain": "

Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead.

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the security profile's behaviors, but it is also retained for any metric specified here.

" } }, "AdditionalMetricsToRetainV2List": { @@ -1943,6 +1943,7 @@ "CertificateValidity$notBefore": "

The certificate is not valid before this date.

", "CertificateValidity$notAfter": "

The certificate is not valid after this date.

", "CreateProvisioningClaimResponse$expiration": "

The provisioning claim expiration time.

", + "DescribeDomainConfigurationResponse$lastStatusChangeDate": "

The date and time the domain configuration's status was last changed.

", "DescribeProvisioningTemplateResponse$creationDate": "

The date when the fleet provisioning template was created.

", "DescribeProvisioningTemplateResponse$lastModifiedDate": "

The date when the fleet provisioning template was last modified.

", "DescribeProvisioningTemplateVersionResponse$creationDate": "

The date when the fleet provisioning template version was created.

", @@ -3400,7 +3401,7 @@ "IncrementFactor": { "base": null, "refs": { - "ExponentialRolloutRate$incrementFactor": "

The exponential factor to increase the rate of rollout for a job.

" + "ExponentialRolloutRate$incrementFactor": "

The exponential factor to increase the rate of rollout for a job.

AWS IoT supports up to one digit after the decimal (for example, 1.5, but not 1.55).

" } }, "IndexName": { @@ -5231,7 +5232,7 @@ "RateIncreaseCriteria": { "base": "

Allows you to define a criteria to initiate the increase in rate of rollout for a job.

", "refs": { - "ExponentialRolloutRate$rateIncreaseCriteria": "

The criteria to initiate the increase in rate of rollout for a job.

AWS IoT supports up to one digit after the decimal (for example, 1.5, but not 1.55).

" + "ExponentialRolloutRate$rateIncreaseCriteria": "

The criteria to initiate the increase in rate of rollout for a job.

" } }, "ReasonCode": { @@ -5682,7 +5683,7 @@ "base": null, "refs": { "TopicRule$sql": "

The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters.

", - "TopicRulePayload$sql": "

The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.

" + "TopicRulePayload$sql": "

The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.

" } }, "SalesforceAction": { diff --git a/models/apis/macie2/2020-01-01/api-2.json b/models/apis/macie2/2020-01-01/api-2.json index 201aa97671f..be7fc8abc40 100644 --- a/models/apis/macie2/2020-01-01/api-2.json +++ b/models/apis/macie2/2020-01-01/api-2.json @@ -2081,6 +2081,10 @@ "publiclyWritable": { "shape": "__long", "locationName": "publiclyWritable" + }, + "unknown": { + "shape": "__long", + "locationName": "unknown" } } }, @@ -2115,6 +2119,10 @@ "notShared": { "shape": "__long", "locationName": "notShared" + }, + "unknown": { + "shape": "__long", + "locationName": "unknown" } } }, @@ -2310,6 +2318,33 @@ } } }, + "Cell": { + "type": "structure", + "members": { + "cellReference": { + "shape": "__string", + "locationName": "cellReference" + }, + "column": { + "shape": "__long", + "locationName": "column" + }, + "columnName": { + "shape": "__string", + "locationName": "columnName" + }, + "row": { + "shape": "__long", + "locationName": "row" + } + } + }, + "Cells": { + "type": "list", + "member": { + "shape": "Cell" + } + }, "ClassificationDetails": { "type": "structure", "members": { @@ -2343,6 +2378,10 @@ "ClassificationResult": { "type": "structure", "members": { + "additionalOccurrences": { + "shape": "__boolean", + "locationName": "additionalOccurrences" + }, "customDataIdentifiers": { "shape": "CustomDataIdentifiers", "locationName": "customDataIdentifiers" @@ -2718,6 +2757,10 @@ "name": { "shape": "__string", "locationName": "name" + }, + "occurrences": { + "shape": "Occurrences", + "locationName": "occurrences" } } }, @@ -2771,6 +2814,10 @@ "shape": "__long", "locationName": "count" }, + "occurrences": { + "shape": "Occurrences", + "locationName": "occurrences" + }, "type": { "shape": "__string", "locationName": "type" @@ -2969,6 +3016,10 @@ "tags": { "shape": "TagMap", "locationName": "tags" + }, + "userPausedDetails": { + "shape": "UserPausedDetails", + "locationName": "userPausedDetails" } } }, @@ -3961,7 +4012,8 @@ "PAUSED", "CANCELLED", "COMPLETE", - "IDLE" + "IDLE", + "USER_PAUSED" ] }, "JobSummary": { @@ -3990,6 +4042,10 @@ "name": { "shape": "__string", "locationName": "name" + }, + "userPausedDetails": { + "shape": "UserPausedDetails", + "locationName": "userPausedDetails" } } }, @@ -4409,6 +4465,31 @@ } } }, + "Occurrences": { + "type": "structure", + "members": { + "cells": { + "shape": "Cells", + "locationName": "cells" + }, + "lineRanges": { + "shape": "Ranges", + "locationName": "lineRanges" + }, + "offsetRanges": { + "shape": "Ranges", + "locationName": "offsetRanges" + }, + "pages": { + "shape": "Pages", + "locationName": "pages" + }, + "records": { + "shape": "Records", + "locationName": "records" + } + } + }, "OrderBy": { "type": "string", "enum": [ @@ -4416,6 +4497,29 @@ "DESC" ] }, + "Page": { + "type": "structure", + "members": { + "lineRange": { + "shape": "Range", + "locationName": "lineRange" + }, + "offsetRange": { + "shape": "Range", + "locationName": "offsetRange" + }, + "pageNumber": { + "shape": "__long", + "locationName": "pageNumber" + } + } + }, + "Pages": { + "type": "list", + "member": { + "shape": "Page" + } + }, "PolicyDetails": { "type": "structure", "members": { @@ -4450,6 +4554,44 @@ } } }, + "Range": { + "type": "structure", + "members": { + "end": { + "shape": "__long", + "locationName": "end" + }, + "start": { + "shape": "__long", + "locationName": "start" + }, + "startColumn": { + "shape": "__long", + "locationName": "startColumn" + } + } + }, + "Ranges": { + "type": "list", + "member": { + "shape": "Range" + } + }, + "Record": { + "type": "structure", + "members": { + "recordIndex": { + "shape": "__long", + "locationName": "recordIndex" + } + } + }, + "Records": { + "type": "list", + "member": { + "shape": "Record" + } + }, "RelationshipStatus": { "type": "string", "enum": [ @@ -5362,6 +5504,23 @@ "AWSService" ] }, + "UserPausedDetails": { + "type": "structure", + "members": { + "jobExpiresAt": { + "shape": "__timestampIso8601", + "locationName": "jobExpiresAt" + }, + "jobImminentExpirationHealthEventArn": { + "shape": "__string", + "locationName": "jobImminentExpirationHealthEventArn" + }, + "jobPausedAt": { + "shape": "__timestampIso8601", + "locationName": "jobPausedAt" + } + } + }, "ValidationException": { "type": "structure", "members": { diff --git a/models/apis/macie2/2020-01-01/docs-2.json b/models/apis/macie2/2020-01-01/docs-2.json index bfcd74b6db5..d88f72e2a7e 100644 --- a/models/apis/macie2/2020-01-01/docs-2.json +++ b/models/apis/macie2/2020-01-01/docs-2.json @@ -16,8 +16,8 @@ "DeleteInvitations" : "

Deletes Amazon Macie membership invitations that were received from specific accounts.

", "DeleteMember" : "

Deletes the association between an Amazon Macie master account and an account.

", "DescribeBuckets" : "

Retrieves (queries) statistical data and other information about one or more S3 buckets that Amazon Macie monitors and analyzes.

", - "DescribeClassificationJob" : "

Retrieves information about the status and settings for a classification job.

", - "DescribeOrganizationConfiguration" : "

Retrieves information about the Amazon Macie configuration settings for an AWS organization.

", + "DescribeClassificationJob" : "

Retrieves the status and settings for a classification job.

", + "DescribeOrganizationConfiguration" : "

Retrieves the Amazon Macie configuration settings for an AWS organization.

", "DisableMacie" : "

Disables an Amazon Macie account and deletes Macie resources for the account.

", "DisableOrganizationAdminAccount" : "

Disables an account as a delegated administrator of Amazon Macie for an AWS organization.

", "DisassociateFromMasterAccount" : "

Disassociates a member account from its Amazon Macie master account.

", @@ -26,12 +26,12 @@ "EnableOrganizationAdminAccount" : "

Enables an account as a delegated administrator of Amazon Macie for an AWS organization.

", "GetBucketStatistics" : "

Retrieves (queries) aggregated statistical data for all the S3 buckets that Amazon Macie monitors and analyzes.

", "GetClassificationExportConfiguration" : "

Retrieves the configuration settings for storing data classification results.

", - "GetCustomDataIdentifier" : "

Retrieves information about the criteria and other settings for a custom data identifier.

", + "GetCustomDataIdentifier" : "

Retrieves the criteria and other settings for a custom data identifier.

", "GetFindingStatistics" : "

Retrieves (queries) aggregated statistical data about findings.

", - "GetFindings" : "

Retrieves information about one or more findings.

", - "GetFindingsFilter" : "

Retrieves information about the criteria and other settings for a findings filter.

", + "GetFindings" : "

Retrieves the details of one or more findings.

", + "GetFindingsFilter" : "

Retrieves the criteria and other settings for a findings filter.

", "GetInvitationsCount" : "

Retrieves the count of Amazon Macie membership invitations that were received by an account.

", - "GetMacieSession" : "

Retrieves information about the current status and configuration settings for an Amazon Macie account.

", + "GetMacieSession" : "

Retrieves the current status and configuration settings for an Amazon Macie account.

", "GetMasterAccount" : "

Retrieves information about the Amazon Macie master account for an account.

", "GetMember" : "

Retrieves information about a member account that's associated with an Amazon Macie master account.

", "GetUsageStatistics" : "

Retrieves (queries) quotas and aggregated usage data for one or more accounts.

", @@ -48,7 +48,7 @@ "TagResource" : "

Adds or updates one or more tags (keys and values) that are associated with a classification job, custom data identifier, findings filter, or member account.

", "TestCustomDataIdentifier" : "

Tests a custom data identifier.

", "UntagResource" : "

Removes one or more tags (keys and values) from a classification job, custom data identifier, findings filter, or member account.

", - "UpdateClassificationJob" : "

Cancels a classification job.

", + "UpdateClassificationJob" : "

Changes the status of a classification job.

", "UpdateFindingsFilter" : "

Updates the criteria and other settings for a findings filter.

", "UpdateMacieSession" : "

Suspends or re-enables an Amazon Macie account, or updates the configuration settings for a Macie account.

", "UpdateMemberSession" : "

Enables an Amazon Macie master account to suspend or re-enable a member account.

", @@ -205,6 +205,18 @@ "DescribeBucketsRequest$SortCriteria" : "

The criteria to use to sort the query results.

" } }, + "Cell" : { + "base" : "

Specifies the location of an occurrence of sensitive data in a Microsoft Excel workbook, CSV file, or TSV file.

", + "refs" : { + "Cells$member" : null + } + }, + "Cells" : { + "base" : "

Specifies the location of occurrences of sensitive data in a Microsoft Excel workbook, CSV file, or TSV file.

", + "refs" : { + "Occurrences$Cells" : "

An array of objects, one for each occurrence of sensitive data in a Microsoft Excel workbook, CSV file, or TSV file. Each object specifies the cell that contains the data. This value is null for all other types of files.

" + } + }, "ClassificationDetails" : { "base" : "

Provides information about a sensitive data finding, including the classification job that produced the finding.

", "refs" : { @@ -220,7 +232,7 @@ } }, "ClassificationResult" : { - "base" : "

Provides detailed information about a sensitive data finding, including the types and number of occurrences of the sensitive data that was found.

", + "base" : "

Provides the details of a sensitive data finding, including the types, number of occurrences, and locations of the sensitive data that was detected.

", "refs" : { "ClassificationDetails$Result" : "

The status and other details for the finding.

" } @@ -236,7 +248,7 @@ "refs" : { } }, "CreateClassificationJobRequest" : { - "base" : "

Specifies the scope, schedule, and other settings for a classification job. You can't delete or change the settings for a classification job after you create it. This helps ensure that you have an immutable history of sensitive data findings and discovery results for data privacy and protection audits or investigations.

", + "base" : "

Specifies the scope, schedule, and other settings for a classification job. You can't change any settings for a classification job after you create it. This helps ensure that you have an immutable history of sensitive data findings and discovery results for data privacy and protection audits or investigations.

", "refs" : { } }, "CreateClassificationJobResponse" : { @@ -307,11 +319,11 @@ "CustomDataIdentifiers" : { "base" : "

Provides information about the number of occurrences of the data that produced a sensitive data finding, and the custom data identifiers that detected the data for the finding.

", "refs" : { - "ClassificationResult$CustomDataIdentifiers" : "

The number of occurrences of the data that produced the finding, and the custom data identifiers that detected the data.

" + "ClassificationResult$CustomDataIdentifiers" : "

The custom data identifiers that detected the sensitive data and the number of occurrences of the data that they detected.

" } }, "CustomDetection" : { - "base" : "

Provides information about a custom data identifier that produced a sensitive data finding, and the number of occurrences of the data that it detected for the finding.

", + "base" : "

Provides information about a custom data identifier that produced a sensitive data finding, and the sensitive data that it detected for the finding.

", "refs" : { "CustomDetections$member" : null } @@ -343,7 +355,7 @@ "refs" : { } }, "DefaultDetection" : { - "base" : "

Provides information about sensitive data that was detected by managed data identifiers and produced a sensitive data finding.

", + "base" : "

Provides information about a type of sensitive data that was detected by managed data identifiers and produced a sensitive data finding.

", "refs" : { "DefaultDetections$member" : null } @@ -351,7 +363,7 @@ "DefaultDetections" : { "base" : "

Provides information about sensitive data that was detected by managed data identifiers and produced a sensitive data finding, and the number of occurrences of each type of sensitive data that was detected.

", "refs" : { - "SensitiveDataItem$Detections" : "

An array of objects, one for each type of sensitive data that was detected. Each object reports the number of occurrences of a specific type of sensitive data that was detected.

" + "SensitiveDataItem$Detections" : "

An array of objects, one for each type of sensitive data that was detected. Each object reports the number of occurrences of a specific type of sensitive data that was detected, and the location of up to 15 of those occurrences.

" } }, "DeleteInvitationsRequest" : { @@ -403,7 +415,7 @@ "refs" : { } }, "EncryptionType" : { - "base" : "

The type of server-side encryption that's used to encrypt objects in the S3 bucket. Valid values are:

", + "base" : "

The type of server-side encryption that's used to encrypt an S3 object or objects in an S3 bucket. Valid values are:

", "refs" : { "ServerSideEncryption$EncryptionType" : "

The server-side encryption algorithm that's used when storing data in the bucket or object. If encryption is disabled for the bucket or object, this value is NONE.

" } @@ -421,7 +433,7 @@ } }, "Finding" : { - "base" : "

Provides information about a finding.

", + "base" : "

Provides the details of a finding.

", "refs" : { "__listOfFinding$member" : null } @@ -481,7 +493,7 @@ } }, "FindingType" : { - "base" : "

The type of finding. Valid values are:

", + "base" : "

The type of finding. For details about each type, see Types of Amazon Macie findings in the Amazon Macie User Guide. Valid values are:

", "refs" : { "Finding$Type" : "

The type of the finding.

", "__listOfFindingType$member" : null @@ -531,11 +543,11 @@ "refs" : { } }, "GetFindingsRequest" : { - "base" : "

Specifies one or more findings to retrieve information about.

", + "base" : "

Specifies one or more findings to retrieve.

", "refs" : { } }, "GetFindingsResponse" : { - "base" : "

Provides the results of a request for information about one or more findings.

", + "base" : "

Provides the results of a request for one or more findings.

", "refs" : { } }, "GetInvitationsCountResponse" : { @@ -569,7 +581,7 @@ "GroupBy" : { "base" : null, "refs" : { - "GetFindingStatisticsRequest$GroupBy" : "

The finding property to use to group the query results. Valid values are:

" + "GetFindingStatisticsRequest$GroupBy" : "

The finding property to use to group the query results. Valid values are:

" } }, "GroupCount" : { @@ -629,14 +641,14 @@ "base" : "

The operator to use in a condition. Valid values are:

", "refs" : { "ListJobsFilterTerm$Comparator" : "

The operator to use to filter the results.

", - "SimpleScopeTerm$Comparator" : "

The operator to use in the condition.

", - "TagScopeTerm$Comparator" : "

The operator to use in the condition.

" + "SimpleScopeTerm$Comparator" : "

The operator to use in the condition. Valid operators for each supported property (key) are:

", + "TagScopeTerm$Comparator" : "

The operator to use in the condition. Valid operators are EQ (equals) or NE (not equals).

" } }, "JobScheduleFrequency" : { "base" : "

Specifies the recurrence pattern for running a classification job.

", "refs" : { - "CreateClassificationJobRequest$ScheduleFrequency" : "

The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value of the jobType property to ONE_TIME.

", + "CreateClassificationJobRequest$ScheduleFrequency" : "

The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the jobType property to ONE_TIME.

", "DescribeClassificationJobResponse$ScheduleFrequency" : "

The recurrence pattern for running the job. If the job is configured to run only once, this value is null.

" } }, @@ -647,7 +659,7 @@ } }, "JobScopingBlock" : { - "base" : "

Specifies one or more property- and tag-based conditions that define criteria for including or excluding objects from a classification job.

", + "base" : "

Specifies one or more property- and tag-based conditions that define criteria for including or excluding objects from a classification job. If you specify more than one condition, Amazon Macie uses an AND operator to join the conditions.

", "refs" : { "Scoping$Excludes" : "

The property- or tag-based conditions that determine which objects to exclude from the analysis.

", "Scoping$Includes" : "

The property- or tag-based conditions that determine which objects to include in the analysis.

" @@ -656,9 +668,9 @@ "JobStatus" : { "base" : "

The current status of a classification job. Possible values are:

", "refs" : { - "DescribeClassificationJobResponse$JobStatus" : "

The current status of the job. Possible values are:

", - "JobSummary$JobStatus" : "

The current status of the job. Possible values are:

", - "UpdateClassificationJobRequest$JobStatus" : "

The status to change the job's status to. The only supported value is CANCELLED, which cancels the job completely.

" + "DescribeClassificationJobResponse$JobStatus" : "

The current status of the job. Possible values are:

", + "JobSummary$JobStatus" : "

The current status of the job. Possible values are:

", + "UpdateClassificationJobRequest$JobStatus" : "

The new status for the job. Valid values are:

" } }, "JobSummary" : { @@ -671,8 +683,8 @@ "base" : "

The schedule for running a classification job. Valid values are:

", "refs" : { "CreateClassificationJobRequest$JobType" : "

The schedule for running the job. Valid values are:

", - "DescribeClassificationJobResponse$JobType" : "

The schedule for running the job. Possible values are:

", - "JobSummary$JobType" : "

The schedule for running the job. Possible values are:

" + "DescribeClassificationJobResponse$JobType" : "

The schedule for running the job. Possible values are:

", + "JobSummary$JobType" : "

The schedule for running the job. Possible values are:

" } }, "KeyValuePair" : { @@ -793,10 +805,17 @@ "ObjectLevelStatistics" : { "base" : "

Provides information about the total storage size (in bytes) or number of objects that Amazon Macie can't analyze in one or more S3 buckets. In a BucketMetadata object, this data is for a specific bucket. In a GetBucketStatisticsResponse object, this data is aggregated for all the buckets in the query results.

", "refs" : { - "BucketMetadata$UnclassifiableObjectCount" : "

The total number of objects that Amazon Macie can't analyze in the bucket. These objects use an unsupported file or storage format or storage class.

", - "BucketMetadata$UnclassifiableObjectSizeInBytes" : "

The total storage size, in bytes, of the objects that Amazon Macie can't analyze in the bucket. These objects use an unsupported file or storage format or storage class.

", - "GetBucketStatisticsResponse$UnclassifiableObjectCount" : "

The total number of objects that Amazon Macie can't analyze in the buckets. These objects use an unsupported file or storage format or storage class.

", - "GetBucketStatisticsResponse$UnclassifiableObjectSizeInBytes" : "

The total storage size, in bytes, of all the objects that Amazon Macie can't analyze in the buckets. These objects use an unsupported file or storage format or storage class.

" + "BucketMetadata$UnclassifiableObjectCount" : "

The total number of objects that Amazon Macie can't analyze in the bucket. These objects don't use a supported storage class or don't have a file name extension for a supported file or storage format.

", + "BucketMetadata$UnclassifiableObjectSizeInBytes" : "

The total storage size, in bytes, of the objects that Amazon Macie can't analyze in the bucket. These objects don't use a supported storage class or don't have a file name extension for a supported file or storage format.

", + "GetBucketStatisticsResponse$UnclassifiableObjectCount" : "

The total number of objects that Amazon Macie can't analyze in the buckets. These objects don't use a supported storage class or don't have a file name extension for a supported file or storage format.

", + "GetBucketStatisticsResponse$UnclassifiableObjectSizeInBytes" : "

The total storage size, in bytes, of all the objects that Amazon Macie can't analyze in the buckets. These objects don't use a supported storage class or don't have a file name extension for a supported file or storage format.

" + } + }, + "Occurrences" : { + "base" : "

Provides the location of 1-15 occurrences of sensitive data that was detected by managed data identifiers or a custom data identifier and produced a sensitive data finding.

", + "refs" : { + "CustomDetection$Occurrences" : "

The location of 1-15 occurrences of the sensitive data that the custom data identifier detected. A finding includes location data for a maximum of 15 occurrences of sensitive data.

", + "DefaultDetection$Occurrences" : "

The location of 1-15 occurrences of the sensitive data that was detected. A finding includes location data for a maximum of 15 occurrences of sensitive data.

" } }, "OrderBy" : { @@ -809,6 +828,18 @@ "UsageStatisticsSortBy$OrderBy" : "

The sort order to apply to the results, based on the value for the field specified by the key property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

" } }, + "Page" : { + "base" : "

Specifies the location of an occurrence of sensitive data in an Adobe Portable Document Format file.

", + "refs" : { + "Pages$member" : null + } + }, + "Pages" : { + "base" : "

Specifies the location of occurrences of sensitive data in an Adobe Portable Document Format file.

", + "refs" : { + "Occurrences$Pages" : "

An array of objects, one for each occurrence of sensitive data in an Adobe Portable Document Format file. Each object specifies the page that contains the data, and the position of the data on that page. This value is null for all other types of files.

" + } + }, "PolicyDetails" : { "base" : "

Provides the details of a policy finding.

", "refs" : { @@ -823,6 +854,33 @@ "base" : "

Provides information about updated settings for storing data classification results.

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

Provides details about the location of an occurrence of sensitive data in an Adobe Portable Document Format file, Apache Avro object container, Microsoft Word document, or non-binary text file.

", + "refs" : { + "Page$LineRange" : "

The line that contains the data, and the position of the data on that line.

", + "Page$OffsetRange" : "

The position of the data on the page, relative to the start and end of the page.

", + "Ranges$member" : null + } + }, + "Ranges" : { + "base" : "

Provides details about the location of occurrences of sensitive data in an Adobe Portable Document Format file, Apache Avro object container, Microsoft Word document, or non-binary text file.

", + "refs" : { + "Occurrences$LineRanges" : "

An array of objects, one for each occurrence of sensitive data in an Apache Avro object container, Microsoft Word document, or non-binary text file, such as an HTML, JSON, TXT, or XML file. Each object specifies the line that contains the data, and the position of the data on that line.

This value is often null for file types that are supported by Cell, Page, or Record objects. Exceptions are the locations of: full names and addresses in a Microsoft Excel workbook, CSV file, or TSV file; data in unstructured sections of an otherwise structured file, such as a comment in a file; and, data in a malformed file that Amazon Macie analyzes as plain text.

", + "Occurrences$OffsetRanges" : "

An array of objects, one for each occurrence of sensitive data in a binary text file. Each object specifies the position of the data relative to the start of the file.

This value is typically null. For binary text files, Macie adds location data to a lineRanges.Range or Page object, depending on the file type.

" + } + }, + "Record" : { + "base" : "

Specifies the location of an occurrence of sensitive data in an Apache Parquet file.

", + "refs" : { + "Records$member" : null + } + }, + "Records" : { + "base" : "

Specifies the location of occurrences of sensitive data in an Apache Parquet file.

", + "refs" : { + "Occurrences$Records" : "

An array of objects, one for each occurrence of sensitive data in an Apache Parquet file. Each object specifies the row that contains the data. This value is null for all other types of files.

" + } + }, "RelationshipStatus" : { "base" : "

The current status of the relationship between an account and an associated Amazon Macie master account (inviter account). Possible values are:

", "refs" : { @@ -887,11 +945,11 @@ "ScopeFilterKey" : { "base" : "

The property to use in a condition that determines which objects are analyzed by a classification job. Valid values are:

", "refs" : { - "SimpleScopeTerm$Key" : "

The property to use in the condition.

" + "SimpleScopeTerm$Key" : "

The object property to use in the condition.

" } }, "Scoping" : { - "base" : "

Specifies one or more property- and tag-based conditions that refine the scope of a classification job. These conditions define criteria that determine which objects a job analyzes.

", + "base" : "

Specifies one or more property- and tag-based conditions that refine the scope of a classification job. These conditions define criteria that determine which objects a job analyzes. Exclude conditions take precedence over include conditions.

", "refs" : { "S3JobDefinition$Scoping" : "

The property- and tag-based conditions that determine which objects to include or exclude from the analysis.

" } @@ -899,11 +957,11 @@ "SensitiveData" : { "base" : "

Provides information about the category and number of occurrences of sensitive data that produced a finding.

", "refs" : { - "ClassificationResult$SensitiveData" : "

The category and number of occurrences of the sensitive data that produced the finding.

" + "ClassificationResult$SensitiveData" : "

The category, types, and number of occurrences of the sensitive data that produced the finding.

" } }, "SensitiveDataItem" : { - "base" : "

Provides information about the category, type, and number of occurrences of sensitive data that produced a finding.

", + "base" : "

Provides information about the category, types, and occurrences of sensitive data that produced a sensitive data finding.

", "refs" : { "SensitiveData$member" : null } @@ -911,14 +969,14 @@ "SensitiveDataItemCategory" : { "base" : "

The category of sensitive data that was detected and produced the finding. Possible values are:

", "refs" : { - "SensitiveDataItem$Category" : "

The category of sensitive data that was detected. For example: FINANCIAL_INFORMATION, for financial information such as credit card numbers; PERSONAL_INFORMATION, for personally identifiable information such as full names and mailing addresses; or, CUSTOM_IDENTIFIER, for data that was detected by a custom data identifier.

" + "SensitiveDataItem$Category" : "

The category of sensitive data that was detected. For example: FINANCIAL_INFORMATION, for financial information such as credit card numbers; PERSONAL_INFORMATION, for personally identifiable information, such as full names and mailing addresses, or personal health information; or, CUSTOM_IDENTIFIER, for data that was detected by a custom data identifier.

" } }, "ServerSideEncryption" : { - "base" : "

Provides information about the server-side encryption settings for an S3 bucket or object.

", + "base" : "

Provides information about the server-side encryption settings for an S3 bucket or S3 object.

", "refs" : { - "S3Bucket$DefaultServerSideEncryption" : "

The server-side encryption settings for the bucket.

", - "S3Object$ServerSideEncryption" : "

The server-side encryption settings for the object.

" + "S3Bucket$DefaultServerSideEncryption" : "

The type of server-side encryption that's used by default to encrypt objects in the bucket.

", + "S3Object$ServerSideEncryption" : "

The type of server-side encryption that's used for the object.

" } }, "ServiceLimit" : { @@ -951,15 +1009,15 @@ } }, "Severity" : { - "base" : "

Provides the numeric score and textual representation of a severity value.

", + "base" : "

Provides the numerical and qualitative representations of a finding's severity.

", "refs" : { - "Finding$Severity" : "

The severity of the finding.

" + "Finding$Severity" : "

The severity level and score for the finding.

" } }, "SeverityDescription" : { - "base" : "

The textual representation of the finding's severity. Possible values are:

", + "base" : "

The qualitative representation of the finding's severity. Possible values are:

", "refs" : { - "Severity$Description" : "

The textual representation of the severity value, such as Low or High.

" + "Severity$Description" : "

The qualitative representation of the finding's severity, ranging from Low (least severe) to High (most severe).

" } }, "SharedAccess" : { @@ -975,7 +1033,7 @@ } }, "SortCriteria" : { - "base" : "

Specifies criteria for sorting the results of a request for information about findings.

", + "base" : "

Specifies criteria for sorting the results of a request for findings.

", "refs" : { "GetFindingsRequest$SortCriteria" : "

The criteria for sorting the results of the request.

", "ListFindingsRequest$SortCriteria" : "

The criteria to use to sort the results.

" @@ -984,11 +1042,11 @@ "Statistics" : { "base" : "

Provides processing statistics for a classification job.

", "refs" : { - "DescribeClassificationJobResponse$Statistics" : "

The number of times that the job has run and processing statistics for the job's most recent run.

" + "DescribeClassificationJobResponse$Statistics" : "

The number of times that the job has run and processing statistics for the job's current run.

" } }, "StorageClass" : { - "base" : "

The storage class of the S3 bucket or object. Possible values are:

", + "base" : "

The storage class of the S3 object. Possible values are:

", "refs" : { "S3Object$StorageClass" : "

The storage class of the object.

" } @@ -1000,7 +1058,7 @@ "CreateCustomDataIdentifierRequest$Tags" : "

A map of key-value pairs that specifies the tags to associate with the custom data identifier.

A custom data identifier can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

", "CreateFindingsFilterRequest$Tags" : "

A map of key-value pairs that specifies the tags to associate with the filter.

A findings filter can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

", "CreateMemberRequest$Tags" : "

A map of key-value pairs that specifies the tags to associate with the account in Amazon Macie.

An account can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

", - "DescribeClassificationJobResponse$Tags" : "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the classification job.

", + "DescribeClassificationJobResponse$Tags" : "

A map of key-value pairs that specifies which tags (keys and values) are associated with the classification job.

", "FindingsFilterListItem$Tags" : "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the filter.

", "GetCustomDataIdentifierResponse$Tags" : "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the custom data identifier.

", "GetFindingsFilterResponse$Tags" : "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the filter.

", @@ -1021,7 +1079,7 @@ "TagScopeTerm" : { "base" : "

Specifies a tag-based condition that determines whether an object is included or excluded from a classification job.

", "refs" : { - "JobScopeTerm$TagScopeTerm" : "

A tag-based condition that defines the operator and a tag key or tag keys and values for including or excluding an object from the job.

" + "JobScopeTerm$TagScopeTerm" : "

A tag-based condition that defines the operator and tag keys or tag key and value pairs for including or excluding an object from the job.

" } }, "TagTarget" : { @@ -1031,7 +1089,7 @@ } }, "TagValuePair" : { - "base" : "

Specifies a tag key and value, as a pair, to use in a tag-based condition for a classification job.

", + "base" : "

Specifies a tag key or tag key and value pair to use in a tag-based condition for a classification job.

", "refs" : { "__listOfTagValuePair$member" : null } @@ -1065,7 +1123,7 @@ "refs" : { } }, "UpdateClassificationJobRequest" : { - "base" : "

Cancels a classification job.

", + "base" : "

Changes the status of a classification job.

", "refs" : { } }, "UpdateFindingsFilterRequest" : { @@ -1161,6 +1219,13 @@ "UserIdentity$Type" : "

The type of entity that performed the action.

" } }, + "UserPausedDetails" : { + "base" : "

Provides information about when a classification job was paused and when it will expire and be cancelled if it isn’t resumed. This object is present only if a job’s current status (jobStatus) is USER_PAUSED.

", + "refs" : { + "DescribeClassificationJobResponse$UserPausedDetails" : "

If the current status of the job is USER_PAUSED, specifies when the job was paused and when the job will expire and be cancelled if it isn’t resumed. This value is present only if the value for jobStatus is USER_PAUSED.

", + "JobSummary$UserPausedDetails" : "

If the current status of the job is USER_PAUSED, specifies when the job was paused and when the job will expire and be cancelled if it isn’t resumed. This value is present only if the value for jobStatus is USER_PAUSED.

" + } + }, "ValidationException" : { "base" : "

Provides information about an error that occurred due to a syntax error in a request.

", "refs" : { } @@ -1184,6 +1249,7 @@ "BucketMetadata$Versioning" : "

Specifies whether versioning is enabled for the bucket.

", "BucketPolicy$AllowsPublicReadAccess" : "

Specifies whether the bucket policy allows the general public to have read access to the bucket.

", "BucketPolicy$AllowsPublicWriteAccess" : "

Specifies whether the bucket policy allows the general public to have write access to the bucket.

", + "ClassificationResult$AdditionalOccurrences" : "

Specifies whether Amazon Macie detected additional occurrences of sensitive data in the S3 object. A finding includes location data for a maximum of 15 occurrences of sensitive data.

This value can help you to determine whether to investigate additional occurrences of sensitive data in an object. You can do this by referring to the corresponding sensitive data discovery result for the finding (ClassificationDetails.detailedResultsLocation).

", "CreateClassificationJobRequest$InitialRun" : "

Specifies whether to analyze all existing, eligible objects immediately after the job is created.

", "CreateInvitationsRequest$DisableEmailNotification" : "

Specifies whether to send an email notification to the root user of each account that the invitation will be sent to. This notification is in addition to an alert that the root user receives in AWS Personal Health Dashboard. To send an email notification to the root user of each account, set this value to true.

", "DescribeClassificationJobResponse$InitialRun" : "

Specifies whether the job is configured to analyze all existing, eligible objects immediately after it's created.

", @@ -1224,7 +1290,7 @@ "ListClassificationJobsRequest$MaxResults" : "

The maximum number of items to include in each page of the response.

", "ListCustomDataIdentifiersRequest$MaxResults" : "

The maximum number of items to include in each page of the response.

", "ListFindingsRequest$MaxResults" : "

The maximum number of items to include in each page of the response.

", - "MonthlySchedule$DayOfMonth" : "

The numeric day of the month when Amazon Macie runs the job. This value can be an integer from 1 through 30.

", + "MonthlySchedule$DayOfMonth" : "

The numeric day of the month when Amazon Macie runs the job. This value can be an integer from 1 through 31.

If this value exceeds the number of days in a certain month, Macie runs the job on the last day of that month. For example, if this value is 31 and a month has only 30 days, Macie runs the job on day 30 of that month.

", "TestCustomDataIdentifierRequest$MaximumMatchDistance" : "

The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern. The distance can be 1 - 300 characters. The default value is 50.

", "TestCustomDataIdentifierResponse$MatchCount" : "

The number of instances of sample text that matched the detection criteria specified in the custom data identifier.

", "UpdateFindingsFilterRequest$Position" : "

The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

" @@ -1325,7 +1391,7 @@ "__listOfTagValuePair" : { "base" : null, "refs" : { - "TagScopeTerm$TagValues" : "

The tag key and value pairs to use in the condition.

" + "TagScopeTerm$TagValues" : "

The tag keys or tag key and value pairs to use in the condition.

" } }, "__listOfUnprocessedAccount" : { @@ -1378,12 +1444,12 @@ "DescribeClassificationJobResponse$CustomDataIdentifierIds" : "

The custom data identifiers that the job uses to analyze data.

", "GetCustomDataIdentifierResponse$IgnoreWords" : "

An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it. Ignore words are case sensitive.

", "GetCustomDataIdentifierResponse$Keywords" : "

An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. Keywords aren't case sensitive.

", - "GetFindingsRequest$FindingIds" : "

An array of strings that lists the unique identifiers for the findings to retrieve information about.

", + "GetFindingsRequest$FindingIds" : "

An array of strings that lists the unique identifiers for the findings to retrieve.

", "ListFindingsResponse$FindingIds" : "

An array of strings, where each string is the unique identifier for a finding that meets the filter criteria specified in the request.

", "ListJobsFilterTerm$Values" : "

An array that lists one or more values to use to filter the results.

", "ReplicationDetails$ReplicationAccounts" : "

An array of AWS account IDs, one for each AWS account that the bucket is configured to replicate one or more objects to.

", "S3BucketDefinitionForJob$Buckets" : "

An array that lists the names of the buckets.

", - "SimpleScopeTerm$Values" : "

An array that lists one or more values to use in the condition.

", + "SimpleScopeTerm$Values" : "

An array that lists the values to use in the condition. If the value for the key property is OBJECT_EXTENSION, this array can specify multiple values and Amazon Macie uses an OR operator to join the values. Otherwise, this array can specify only one value. Valid values for each supported property (key) are:

", "TestCustomDataIdentifierRequest$IgnoreWords" : "

An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore words. Each ignore word can contain 4 - 90 characters. Ignore words are case sensitive.

", "TestCustomDataIdentifierRequest$Keywords" : "

An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 4 - 90 characters. Keywords aren't case sensitive.

", "UsageStatisticsFilter$Values" : "

An array that lists values to use in the condition, based on the value for the field specified by the key property. If the value for the key property is accountId, this array can specify multiple values. Otherwise, this array can specify only one value.

Valid values for each supported field are:

" @@ -1395,33 +1461,37 @@ "BucketCountByEffectivePermission$PubliclyAccessible" : "

The total number of buckets that allow the general public to have read or write access to the bucket.

", "BucketCountByEffectivePermission$PubliclyReadable" : "

The total number of buckets that allow the general public to have read access to the bucket.

", "BucketCountByEffectivePermission$PubliclyWritable" : "

The total number of buckets that allow the general public to have write access to the bucket.

", + "BucketCountByEffectivePermission$Unknown" : "

The total number of buckets that Amazon Macie wasn't able to evaluate permissions settings for. Macie can't determine whether these buckets are publicly accessible.

", "BucketCountByEncryptionType$KmsManaged" : "

The total number of buckets that use an AWS Key Management Service (AWS KMS) customer master key (CMK) to encrypt objects. These buckets use AWS KMS AWS-managed (AWS-KMS) encryption or AWS KMS customer-managed (SSE-KMS) encryption.

", "BucketCountByEncryptionType$S3Managed" : "

The total number of buckets that use an Amazon S3-managed key to encrypt objects. These buckets use Amazon S3-managed (SSE-S3) encryption.

", "BucketCountByEncryptionType$Unencrypted" : "

The total number of buckets that don't encrypt objects by default. Default encryption is disabled for these buckets.

", "BucketCountBySharedAccessType$External" : "

The total number of buckets that are shared with an AWS account that isn't part of the same Amazon Macie organization.

", "BucketCountBySharedAccessType$Internal" : "

The total number of buckets that are shared with an AWS account that's part of the same Amazon Macie organization.

", - "BucketCountBySharedAccessType$NotShared" : "

The total number of buckets that aren't shared with any other AWS accounts.

", + "BucketCountBySharedAccessType$NotShared" : "

The total number of buckets that aren't shared with other AWS accounts.

", + "BucketCountBySharedAccessType$Unknown" : "

The total number of buckets that Amazon Macie wasn't able to evaluate shared access settings for. Macie can't determine whether these buckets are shared with other AWS accounts.

", "BucketCriteriaAdditionalProperties$Gt" : "

A greater than condition to apply to a specified attribute value for buckets.

", "BucketCriteriaAdditionalProperties$Gte" : "

A greater than or equal to condition to apply to a specified attribute value for buckets.

", "BucketCriteriaAdditionalProperties$Lt" : "

A less than condition to apply to a specified attribute value for buckets.

", "BucketCriteriaAdditionalProperties$Lte" : "

A less than or equal to condition to apply to a specified attribute value for buckets.

", - "BucketMetadata$ClassifiableObjectCount" : "

The total number of objects that Amazon Macie can analyze in the bucket. These objects use a supported file or storage format and storage class.

", - "BucketMetadata$ClassifiableSizeInBytes" : "

The total storage size, in bytes, of the objects that Amazon Macie can analyze in the bucket. These objects use a supported file or storage format and storage class.

", + "BucketMetadata$ClassifiableObjectCount" : "

The total number of objects that Amazon Macie can analyze in the bucket. These objects use a supported storage class and have a file name extension for a supported file or storage format.

", + "BucketMetadata$ClassifiableSizeInBytes" : "

The total storage size, in bytes, of the objects that Amazon Macie can analyze in the bucket. These objects use a supported storage class and have a file name extension for a supported file or storage format.

", "BucketMetadata$ObjectCount" : "

The total number of objects in the bucket.

", "BucketMetadata$SizeInBytes" : "

The total storage size, in bytes, of the bucket.

", "BucketMetadata$SizeInBytesCompressed" : "

The total compressed storage size, in bytes, of the bucket.

", + "Cell$Column" : "

The column number of the column that contains the data. For a Microsoft Excel workbook, this value correlates to the alphabetical character(s) for a column identifier. For example, 1 for column A, 2 for column B, and so on.

", + "Cell$Row" : "

The row number of the row that contains the data.

", "ClassificationResult$SizeClassified" : "

The total size, in bytes, of the data that the finding applies to.

", "CriterionAdditionalProperties$Gt" : "

A greater than condition to apply to a specified property value for findings.

", "CriterionAdditionalProperties$Gte" : "

A greater than or equal to condition to apply to a specified property value for findings.

", "CriterionAdditionalProperties$Lt" : "

A less than condition to apply to a specified property value for findings.

", "CriterionAdditionalProperties$Lte" : "

A less than or equal to condition to apply to a specified property value for findings.

", "CustomDataIdentifiers$TotalCount" : "

The total number of occurrences of the data that was detected by the custom data identifiers and produced the finding.

", - "CustomDetection$Count" : "

The total number of occurrences of the data that the custom data identifier detected for the finding.

", - "DefaultDetection$Count" : "

The total number of occurrences of the type of data that was detected.

", - "Finding$Count" : "

The total number of occurrences of this finding.

", + "CustomDetection$Count" : "

The total number of occurrences of the sensitive data that the custom data identifier detected.

", + "DefaultDetection$Count" : "

The total number of occurrences of the type of sensitive data that was detected.

", + "Finding$Count" : "

The total number of occurrences of the finding.

", "GetBucketStatisticsResponse$BucketCount" : "

The total number of buckets.

", - "GetBucketStatisticsResponse$ClassifiableObjectCount" : "

The total number of objects that Amazon Macie can analyze in the buckets. These objects use a supported file or storage format and storage class.

", - "GetBucketStatisticsResponse$ClassifiableSizeInBytes" : "

The total storage size, in bytes, of all the objects that Amazon Macie can analyze in the buckets. These objects use a supported file or storage format and storage class.

", + "GetBucketStatisticsResponse$ClassifiableObjectCount" : "

The total number of objects that Amazon Macie can analyze in the buckets. These objects use a supported storage class and have a file name extension for a supported file or storage format.

", + "GetBucketStatisticsResponse$ClassifiableSizeInBytes" : "

The total storage size, in bytes, of all the objects that Amazon Macie can analyze in the buckets. These objects use a supported storage class and have a file name extension for a supported file or storage format.

", "GetBucketStatisticsResponse$ObjectCount" : "

The total number of objects in the buckets.

", "GetBucketStatisticsResponse$SizeInBytes" : "

The total storage size, in bytes, of the buckets.

", "GetBucketStatisticsResponse$SizeInBytesCompressed" : "

The total compressed storage size, in bytes, of the buckets.

", @@ -1431,13 +1501,18 @@ "ObjectCountByEncryptionType$KmsManaged" : "

The total number of objects that are encrypted using an AWS Key Management Service (AWS KMS) customer master key (CMK). The objects use AWS KMS AWS-managed (AWS-KMS) encryption or AWS KMS customer-managed (SSE-KMS) encryption.

", "ObjectCountByEncryptionType$S3Managed" : "

The total number of objects that are encrypted using an Amazon S3-managed key. The objects use Amazon S3-managed (SSE-S3) encryption.

", "ObjectCountByEncryptionType$Unencrypted" : "

The total number of objects that aren't encrypted or use client-side encryption.

", - "ObjectLevelStatistics$FileType" : "

The total storage size (in bytes) or number of objects that Amazon Macie can't analyze because the objects use an unsupported file or storage format.

", + "ObjectLevelStatistics$FileType" : "

The total storage size (in bytes) or number of objects that Amazon Macie can't analyze because the objects don’t have a file name extension for a supported file or storage format.

", "ObjectLevelStatistics$StorageClass" : "

The total storage size (in bytes) or number of objects that Amazon Macie can't analyze because the objects use an unsupported storage class.

", - "ObjectLevelStatistics$Total" : "

The total storage size (in bytes) or number of objects that Amazon Macie can't analyze because the objects use an unsupported file or storage format or storage class.

", + "ObjectLevelStatistics$Total" : "

The total storage size (in bytes) or number of objects that Amazon Macie can't analyze because the objects use an unsupported storage class or don’t have a file name extension for a supported file or storage format.

", + "Page$PageNumber" : "

The page number of the page that contains the data.

", + "Range$End" : "

Possible values are:

", + "Range$Start" : "

Possible values are:

", + "Range$StartColumn" : "

The column number for the column that contains the data, if the file contains structured data.

", + "Record$RecordIndex" : "

The row index, starting from 0, for the row that contains the data.

", "S3Object$Size" : "

The total storage size, in bytes, of the object.

", "SensitiveDataItem$TotalCount" : "

The total number of occurrences of the sensitive data that was detected.

", "ServiceLimit$Value" : "

The value for the metric specified by the UsageByAccount.type field in the response.

", - "Severity$Score" : "

The numeric score for the severity value, ranging from 0 (least severe) to 4 (most severe).

" + "Severity$Score" : "

The numerical representation of the finding's severity, ranging from 1 (least severe) to 3 (most severe).

" } }, "__string" : { @@ -1468,11 +1543,13 @@ "BucketMetadata$BucketName" : "

The name of the bucket.

", "BucketMetadata$Region" : "

The AWS Region that hosts the bucket.

", "BucketSortCriteria$AttributeName" : "

The name of the attribute to sort the results by. This value can be the name of any property that Amazon Macie defines as bucket metadata, such as bucketName or accountId.

", - "ClassificationDetails$DetailedResultsLocation" : "

The path to the folder or file (in Amazon S3) that contains the corresponding sensitive data discovery results for the finding. If a finding applies to a large archive or compressed file, this is a path to a folder. Otherwise, this is a path to a file.

", + "Cell$CellReference" : "

The location of the cell, as an absolute cell reference, that contains the data. For example, Sheet2!C5 for cell C5 on Sheet2 in a Microsoft Excel workbook. This value is null for CSV and TSV files.

", + "Cell$ColumnName" : "

The name of the column that contains the data, if available.

", + "ClassificationDetails$DetailedResultsLocation" : "

The path to the folder or file (in Amazon S3) that contains the corresponding sensitive data discovery result for the finding. If a finding applies to a large archive or compressed file, this value is the path to a folder. Otherwise, this value is the path to a file.

", "ClassificationDetails$JobArn" : "

The Amazon Resource Name (ARN) of the classification job that produced the finding.

", "ClassificationDetails$JobId" : "

The unique identifier for the classification job that produced the finding.

", - "ClassificationResult$MimeType" : "

The type of content, expressed as a MIME type, that the finding applies to. For example, application/gzip, for a GNU Gzip compressed archive file, or application/pdf, for an Adobe PDF file.

", - "ClassificationResultStatus$Code" : "

The status of the finding. Possible values are:

", + "ClassificationResult$MimeType" : "

The type of content, as a MIME type, that the finding applies to. For example, application/gzip, for a GNU Gzip compressed archive file, or application/pdf, for an Adobe Portable Document Format file.

", + "ClassificationResultStatus$Code" : "

The status of the finding. Possible values are:

", "ClassificationResultStatus$Reason" : "

A brief description of the status of the finding. Amazon Macie uses this value to notify you of any errors, warnings, or considerations that might impact your analysis of the finding.

", "ConflictException$Message" : "

The explanation of the error that occurred.

", "CreateClassificationJobRequest$ClientToken" : "

A unique, case-sensitive token that you provide to ensure the idempotency of the request.

", @@ -1498,7 +1575,7 @@ "CustomDataIdentifierSummary$Name" : "

The custom name of the custom data identifier.

", "CustomDetection$Arn" : "

The Amazon Resource Name (ARN) of the custom data identifier.

", "CustomDetection$Name" : "

The name of the custom data identifier.

", - "DefaultDetection$Type" : "

The type of data that was detected. For example, AWS_CREDENTIALS, PHONE_NUMBER, or ADDRESS.

", + "DefaultDetection$Type" : "

The type of sensitive data that was detected. For example, AWS_CREDENTIALS, PHONE_NUMBER, or ADDRESS.

", "DescribeBucketsRequest$NextToken" : "

The nextToken string that specifies which page of results to return in a paginated response.

", "DescribeBucketsResponse$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.

", "DescribeClassificationJobResponse$ClientToken" : "

The token that was provided to ensure the idempotency of the request to create the job.

", @@ -1601,7 +1678,7 @@ "TagMap$member" : null, "TagScopeTerm$Key" : "

The tag key to use in the condition.

", "TagValuePair$Key" : "

The value for the tag key to use in the condition.

", - "TagValuePair$Value" : "

The tag value, associated with the specified tag key, to use in the condition.

", + "TagValuePair$Value" : "

The tag value, associated with the specified tag key (key), to use in the condition. To specify only a tag key for a condition, specify the tag key for the key property and set this value to an empty string.

", "TestCustomDataIdentifierRequest$Regex" : "

The regular expression (regex) that defines the pattern to match. The expression can contain as many as 512 characters.

", "TestCustomDataIdentifierRequest$SampleText" : "

The sample text to inspect by using the custom data identifier. The text can contain as many as 1,000 characters.

", "ThrottlingException$Message" : "

The explanation of the error that occurred.

", @@ -1617,6 +1694,7 @@ "UserIdentityRoot$AccountId" : "

The unique identifier for the AWS account.

", "UserIdentityRoot$Arn" : "

The Amazon Resource Name (ARN) of the principal that performed the action. The last section of the ARN contains the name of the user or role that performed the action.

", "UserIdentityRoot$PrincipalId" : "

The unique identifier for the entity that performed the action.

", + "UserPausedDetails$JobImminentExpirationHealthEventArn" : "

The Amazon Resource Name (ARN) of the AWS Health event that Amazon Macie sent to notify you of the job’s pending expiration and cancellation. This value is null if a job has been paused for less than 23 days.

", "ValidationException$Message" : "

The explanation of the error that occurred.

", "__listOf__string$member" : null } @@ -1633,7 +1711,7 @@ "DescribeClassificationJobResponse$CreatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the job was created.

", "DescribeClassificationJobResponse$LastRunTime" : "

The date and time, in UTC and extended ISO 8601 format, when the job last ran.

", "Finding$CreatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the finding was created.

", - "Finding$UpdatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the finding was last updated. For sensitive data findings, this value is the same as the value for the createdAt property. Sensitive data findings aren't updated.

", + "Finding$UpdatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the finding was last updated. For sensitive data findings, this value is the same as the value for the createdAt property. All sensitive data findings are considered new (unique) because they derive from individual classification jobs.

", "GetBucketStatisticsResponse$LastUpdated" : "

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie most recently retrieved data about the buckets from Amazon S3.

", "GetCustomDataIdentifierResponse$CreatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

", "GetMacieSessionResponse$CreatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie account was created.

", @@ -1647,7 +1725,9 @@ "S3Bucket$CreatedAt" : "

The date and time, in UTC and extended ISO 8601 format, when the bucket was created.

", "S3Object$LastModified" : "

The date and time, in UTC and extended ISO 8601 format, when the object was last modified.

", "SessionContextAttributes$CreationDate" : "

The date and time, in UTC and ISO 8601 format, when the credentials were issued.

", - "UsageRecord$FreeTrialStartDate" : "

The date and time, in UTC and extended ISO 8601 format, when the free trial started for the account.

" + "UsageRecord$FreeTrialStartDate" : "

The date and time, in UTC and extended ISO 8601 format, when the free trial started for the account.

", + "UserPausedDetails$JobExpiresAt" : "

The date and time, in UTC and extended ISO 8601 format, when the job will expire and be cancelled if you don't resume it first. If you don’t resume a job within 30 days of pausing it, the job expires and Amazon Macie cancels it.

", + "UserPausedDetails$JobPausedAt" : "

The date and time, in UTC and extended ISO 8601 format, when you paused the job.

" } } } diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index d1e359e49e8..ed5fcf927ee 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -3208,6 +3208,7 @@ "CopyTagsToSnapshot":{"shape":"BooleanOptional"}, "CrossAccountClone":{"shape":"BooleanOptional"}, "DomainMemberships":{"shape":"DomainMembershipList"}, + "TagList":{"shape":"TagList"}, "GlobalWriteForwardingStatus":{"shape":"WriteForwardingStatus"}, "GlobalWriteForwardingRequested":{"shape":"BooleanOptional"} }, @@ -3517,7 +3518,8 @@ "KmsKeyId":{"shape":"String"}, "DBClusterSnapshotArn":{"shape":"String"}, "SourceDBClusterSnapshotArn":{"shape":"String"}, - "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"} + "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"}, + "TagList":{"shape":"TagList"} }, "wrapper":true }, @@ -3678,7 +3680,8 @@ "DeletionProtection":{"shape":"Boolean"}, "AssociatedRoles":{"shape":"DBInstanceRoles"}, "ListenerEndpoint":{"shape":"Endpoint"}, - "MaxAllocatedStorage":{"shape":"IntegerOptional"} + "MaxAllocatedStorage":{"shape":"IntegerOptional"}, + "TagList":{"shape":"TagList"} }, "wrapper":true }, @@ -4192,7 +4195,8 @@ "Timezone":{"shape":"String"}, "IAMDatabaseAuthenticationEnabled":{"shape":"Boolean"}, "ProcessorFeatures":{"shape":"ProcessorFeatureList"}, - "DbiResourceId":{"shape":"String"} + "DbiResourceId":{"shape":"String"}, + "TagList":{"shape":"TagList"} }, "wrapper":true }, diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index ceb700cc0d7..3d5dd5e30c0 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -13,7 +13,7 @@ "CopyDBClusterParameterGroup": "

Copies the specified DB cluster parameter group.

This action only applies to Aurora DB clusters.

", "CopyDBClusterSnapshot": "

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another AWS Region. In that case, the AWS Region where you call the CopyDBClusterSnapshot action is the destination AWS Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another AWS Region, you must provide the following values:

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

For more information on copying encrypted DB cluster snapshots from one AWS Region to another, see Copying a Snapshot in the Amazon Aurora User Guide.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

", "CopyDBParameterGroup": "

Copies the specified DB parameter group.

", - "CopyDBSnapshot": "

Copies the specified DB snapshot. The source DB snapshot must be in the available or storage-optimization state.

You can copy a snapshot from one AWS Region to another. In that case, the AWS Region where you call the CopyDBSnapshot action is the destination AWS Region for the DB snapshot copy.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

", + "CopyDBSnapshot": "

Copies the specified DB snapshot. The source DB snapshot must be in the available state.

You can copy a snapshot from one AWS Region to another. In that case, the AWS Region where you call the CopyDBSnapshot action is the destination AWS Region for the DB snapshot copy.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

", "CopyOptionGroup": "

Copies the specified option group.

", "CreateCustomAvailabilityZone": "

Creates a custom Availability Zone (AZ).

A custom AZ is an on-premises AZ that is integrated with a VMware vSphere cluster.

For more information about RDS on VMware, see the RDS on VMware User Guide.

", "CreateDBCluster": "

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a read replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

", @@ -25,7 +25,7 @@ "CreateDBParameterGroup": "

Creates a new DB parameter group.

A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

", "CreateDBProxy": "

Creates a new DB proxy.

", "CreateDBSecurityGroup": "

Creates a new DB security group. DB security groups control access to a DB instance.

A DB security group controls access to EC2-Classic DB instances that are not in a VPC.

", - "CreateDBSnapshot": "

Creates a DBSnapshot. The source DBInstance must be in \"available\" state.

", + "CreateDBSnapshot": "

Creates a snapshot of a DB instance. The source DB instance must be in the available or storage-optimizationstate.

", "CreateDBSubnetGroup": "

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

", "CreateEventSubscription": "

Creates an RDS event notification subscription. This action requires a topic Amazon Resource Name (ARN) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the type of source (SourceType) that you want to be notified of and provide a list of RDS sources (SourceIds) that triggers the events. You can also provide a list of event categories (EventCategories) for events that you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you receive notice of the events for that source type for all your RDS sources. If you don't specify either the SourceType or the SourceIdentifier, you are notified of events generated from all RDS sources belonging to your customer account.

RDS event notification is only available for unencrypted SNS topics. If you specify an encrypted SNS topic, event notifications aren't sent for the topic.

", "CreateGlobalCluster": "

Creates an Aurora global database spread across multiple AWS Regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

You can create a global database that is initially empty, and then add a primary cluster and a secondary cluster to it. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database.

This action only applies to Aurora DB clusters.

", @@ -1903,8 +1903,8 @@ "EngineModeList": { "base": null, "refs": { - "DBEngineVersion$SupportedEngineModes": "

A list of the supported DB engine modes.

global engine mode only applies for global database clusters created with Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned engine mode.

", - "OrderableDBInstanceOption$SupportedEngineModes": "

A list of the supported DB engine modes.

global engine mode only applies for global database clusters created with Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned engine mode.

", + "DBEngineVersion$SupportedEngineModes": "

A list of the supported DB engine modes.

", + "OrderableDBInstanceOption$SupportedEngineModes": "

A list of the supported DB engine modes.

", "Parameter$SupportedEngineModes": "

The valid DB engine modes.

" } }, @@ -3479,7 +3479,7 @@ "CreateDBClusterMessage$ReplicationSourceIdentifier": "

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.

", "CreateDBClusterMessage$KmsKeyId": "

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If an encryption key isn't specified in KmsKeyId:

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a read replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the read replica in that AWS Region.

", "CreateDBClusterMessage$PreSignedUrl": "

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region.

", - "CreateDBClusterMessage$EngineMode": "

The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.

global engine mode only applies for global database clusters created with Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned engine mode.

Limitations and requirements apply to some DB engine modes. For more information, see the following sections in the Amazon Aurora User Guide:

", + "CreateDBClusterMessage$EngineMode": "

The DB engine mode of the DB cluster, either provisioned serverless, parallelquery, global, or multimaster.

The parallelquery engine mode isn't required for Aurora MySQL version 1.23 and higher 1.x versions, and version 2.09 and higher 2.x versions.

The global engine mode isn't required for Aurora MySQL version 1.22 and higher 1.x versions, and global engine mode isn't required for any 2.x versions.

The multimaster engine mode only applies for DB clusters created with Aurora MySQL version 5.6.10a.

For Aurora PostgreSQL, the global engine mode isn't required, and both the parallelquery and the multimaster engine modes currently aren't supported.

Limitations and requirements apply to some DB engine modes. For more information, see the following sections in the Amazon Aurora User Guide:

", "CreateDBClusterMessage$GlobalClusterIdentifier": "

The global cluster ID of an Aurora cluster that becomes the primary cluster in the new global database cluster.

", "CreateDBClusterMessage$Domain": "

The Active Directory directory ID to create the DB cluster in.

For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Kerberos Authentication in the Amazon Aurora User Guide.

", "CreateDBClusterMessage$DomainIAMRoleName": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", @@ -3575,7 +3575,7 @@ "DBCluster$DbClusterResourceId": "

The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

", "DBCluster$DBClusterArn": "

The Amazon Resource Name (ARN) for the DB cluster.

", "DBCluster$CloneGroupId": "

Identifies the clone group to which the DB cluster is associated.

", - "DBCluster$EngineMode": "

The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.

global engine mode only applies for global database clusters created with Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned engine mode. To check if a DB cluster is part of a global database, use DescribeGlobalClusters instead of checking the EngineMode return value from DescribeDBClusters.

", + "DBCluster$EngineMode": "

The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.

For more information, see CreateDBCluster.

", "DBCluster$ActivityStreamKmsKeyId": "

The AWS KMS key identifier used for encrypting messages in the database activity stream.

", "DBCluster$ActivityStreamKinesisStreamName": "

The name of the Amazon Kinesis data stream used for the database activity stream.

", "DBClusterBacktrack$DBClusterIdentifier": "

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

", @@ -4141,7 +4141,7 @@ "RestoreDBClusterFromSnapshotMessage$DatabaseName": "

The database name for the restored DB cluster.

", "RestoreDBClusterFromSnapshotMessage$OptionGroupName": "

The name of the option group to use for the restored DB cluster.

", "RestoreDBClusterFromSnapshotMessage$KmsKeyId": "

The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB cluster snapshot.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If you don't specify a value for the KmsKeyId parameter, then the following occurs:

", - "RestoreDBClusterFromSnapshotMessage$EngineMode": "

The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.

", + "RestoreDBClusterFromSnapshotMessage$EngineMode": "

The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.

For more information, see CreateDBCluster.

", "RestoreDBClusterFromSnapshotMessage$DBClusterParameterGroupName": "

The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default DB cluster parameter group for the specified engine is used.

Constraints:

", "RestoreDBClusterFromSnapshotMessage$Domain": "

Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

For more information, see Kerberos Authentication in the Amazon RDS User Guide.

", "RestoreDBClusterFromSnapshotMessage$DomainIAMRoleName": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

", @@ -4418,6 +4418,10 @@ "CreateDBSubnetGroupMessage$Tags": "

Tags to assign to the DB subnet group.

", "CreateEventSubscriptionMessage$Tags": null, "CreateOptionGroupMessage$Tags": "

Tags to assign to the option group.

", + "DBCluster$TagList": null, + "DBClusterSnapshot$TagList": null, + "DBInstance$TagList": null, + "DBSnapshot$TagList": null, "PurchaseReservedDBInstancesOfferingMessage$Tags": null, "RestoreDBClusterFromS3Message$Tags": null, "RestoreDBClusterFromSnapshotMessage$Tags": "

The tags to be assigned to the restored DB cluster.

", diff --git a/models/apis/rekognition/2016-06-27/api-2.json b/models/apis/rekognition/2016-06-27/api-2.json index 7e21730825e..9f070c66894 100644 --- a/models/apis/rekognition/2016-06-27/api-2.json +++ b/models/apis/rekognition/2016-06-27/api-2.json @@ -340,6 +340,25 @@ {"shape":"HumanLoopQuotaExceededException"} ] }, + "DetectProtectiveEquipment":{ + "name":"DetectProtectiveEquipment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectProtectiveEquipmentRequest"}, + "output":{"shape":"DetectProtectiveEquipmentResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"} + ] + }, "DetectText":{ "name":"DetectText", "http":{ @@ -537,7 +556,8 @@ {"shape":"ThrottlingException"}, {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidImageFormatException"} + {"shape":"InvalidImageFormatException"}, + {"shape":"ServiceQuotaExceededException"} ] }, "ListCollections":{ @@ -948,6 +968,19 @@ "Confidence":{"shape":"Percent"} } }, + "BodyPart":{ + "type":"string", + "enum":[ + "FACE", + "HEAD", + "LEFT_HAND", + "RIGHT_HAND" + ] + }, + "BodyParts":{ + "type":"list", + "member":{"shape":"ProtectiveEquipmentBodyPart"} + }, "Boolean":{"type":"boolean"}, "BoundingBox":{ "type":"structure", @@ -1116,6 +1149,13 @@ "TIMESTAMP" ] }, + "CoversBodyPart":{ + "type":"structure", + "members":{ + "Confidence":{"shape":"Percent"}, + "Value":{"shape":"Boolean"} + } + }, "CreateCollectionRequest":{ "type":"structure", "required":["CollectionId"], @@ -1413,6 +1453,22 @@ "HumanLoopActivationOutput":{"shape":"HumanLoopActivationOutput"} } }, + "DetectProtectiveEquipmentRequest":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{"shape":"Image"}, + "SummarizationAttributes":{"shape":"ProtectiveEquipmentSummarizationAttributes"} + } + }, + "DetectProtectiveEquipmentResponse":{ + "type":"structure", + "members":{ + "ProtectiveEquipmentModelVersion":{"shape":"String"}, + "Persons":{"shape":"ProtectiveEquipmentPersons"}, + "Summary":{"shape":"ProtectiveEquipmentSummary"} + } + }, "DetectTextFilters":{ "type":"structure", "members":{ @@ -1468,6 +1524,19 @@ "type":"list", "member":{"shape":"Emotion"} }, + "EquipmentDetection":{ + "type":"structure", + "members":{ + "BoundingBox":{"shape":"BoundingBox"}, + "Confidence":{"shape":"Percent"}, + "Type":{"shape":"ProtectiveEquipmentType"}, + "CoversBodyPart":{"shape":"CoversBodyPart"} + } + }, + "EquipmentDetections":{ + "type":"list", + "member":{"shape":"EquipmentDetection"} + }, "EvaluationResult":{ "type":"structure", "members":{ @@ -2369,6 +2438,62 @@ "max":100, "min":1 }, + "ProtectiveEquipmentBodyPart":{ + "type":"structure", + "members":{ + "Name":{"shape":"BodyPart"}, + "Confidence":{"shape":"Percent"}, + "EquipmentDetections":{"shape":"EquipmentDetections"} + } + }, + "ProtectiveEquipmentPerson":{ + "type":"structure", + "members":{ + "BodyParts":{"shape":"BodyParts"}, + "BoundingBox":{"shape":"BoundingBox"}, + "Confidence":{"shape":"Percent"}, + "Id":{"shape":"UInteger"} + } + }, + "ProtectiveEquipmentPersonIds":{ + "type":"list", + "member":{"shape":"UInteger"} + }, + "ProtectiveEquipmentPersons":{ + "type":"list", + "member":{"shape":"ProtectiveEquipmentPerson"} + }, + "ProtectiveEquipmentSummarizationAttributes":{ + "type":"structure", + "required":[ + "MinConfidence", + "RequiredEquipmentTypes" + ], + "members":{ + "MinConfidence":{"shape":"Percent"}, + "RequiredEquipmentTypes":{"shape":"ProtectiveEquipmentTypes"} + } + }, + "ProtectiveEquipmentSummary":{ + "type":"structure", + "members":{ + "PersonsWithRequiredEquipment":{"shape":"ProtectiveEquipmentPersonIds"}, + "PersonsWithoutRequiredEquipment":{"shape":"ProtectiveEquipmentPersonIds"}, + "PersonsIndeterminate":{"shape":"ProtectiveEquipmentPersonIds"} + } + }, + "ProtectiveEquipmentType":{ + "type":"string", + "enum":[ + "FACE_COVER", + "HAND_COVER", + "HEAD_COVER" + ] + }, + "ProtectiveEquipmentTypes":{ + "type":"list", + "member":{"shape":"ProtectiveEquipmentType"} + }, "ProvisionedThroughputExceededException":{ "type":"structure", "members":{ @@ -2582,6 +2707,12 @@ "type":"list", "member":{"shape":"SegmentTypeInfo"} }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "ShotSegment":{ "type":"structure", "members":{ diff --git a/models/apis/rekognition/2016-06-27/docs-2.json b/models/apis/rekognition/2016-06-27/docs-2.json index fa76512cd98..e3dfdebd532 100644 --- a/models/apis/rekognition/2016-06-27/docs-2.json +++ b/models/apis/rekognition/2016-06-27/docs-2.json @@ -20,6 +20,7 @@ "DetectFaces": "

Detects faces within an image that is provided as input.

DetectFaces detects the 100 largest faces in the image. For each face detected, the operation returns face details. These details include a bounding box of the face, a confidence value (that the bounding box contains a face), and a fixed set of attributes such as facial landmarks (for example, coordinates of eye and mouth), presence of beard, sunglasses, and so on.

The face-detection algorithm is most effective on frontal faces. For non-frontal or obscured faces, the algorithm might not detect the faces or might detect faces with lower confidence.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectFaces action.

", "DetectLabels": "

Detects instances of real-world entities within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature.

For an example, see Analyzing Images Stored in an Amazon S3 Bucket in the Amazon Rekognition Developer Guide.

DetectLabels does not support the detection of activities. However, activity detection is supported for label detection in videos. For more information, see StartLabelDetection in the Amazon Rekognition Developer Guide.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object, scene, and concept the API returns one or more labels. Each label provides the object name, and the level of confidence that the image contains the object. For example, suppose the input image has a lighthouse, the sea, and a rock. The response includes all three labels, one for each object.

{Name: lighthouse, Confidence: 98.4629}

{Name: rock,Confidence: 79.2097}

{Name: sea,Confidence: 75.061}

In the preceding example, the operation returns one label for each of the three objects. The operation can also return multiple labels for the same object in the image. For example, if the input image shows a flower (for example, a tulip), the operation might return the following three labels.

{Name: flower,Confidence: 99.0562}

{Name: plant,Confidence: 99.0562}

{Name: tulip,Confidence: 99.0562}

In this example, the detection algorithm more precisely identifies the flower as a tulip.

In response, the API returns an array of labels. In addition, the response also includes the orientation correction. Optionally, you can specify MinConfidence to control the confidence threshold for the labels returned. The default is 55%. You can also add the MaxLabels parameter to limit the number of labels returned.

If the object detected is a person, the operation doesn't provide the same facial details that the DetectFaces operation provides.

DetectLabels returns bounding boxes for instances of common object labels in an array of Instance objects. An Instance object contains a BoundingBox object, for the location of the label on the image. It also includes the confidence by which the bounding box was detected.

DetectLabels also returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response returns the entire list of ancestors for a label. Each ancestor is a unique label in the response. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectLabels action.

", "DetectModerationLabels": "

Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate.

For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

", + "DetectProtectiveEquipment": "

Detects Personal Protective Equipment (PPE) worn by people detected in an image. Amazon Rekognition can detect the following types of PPE.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. The image must be either a PNG or JPG formatted file.

DetectProtectiveEquipment detects PPE worn by up to 15 persons detected in an image.

For each person detected in the image the API returns an array of body parts (face, head, left-hand, right-hand). For each body part, an array of detected items of PPE is returned, including an indicator of whether or not the PPE covers the body part. The API returns the confidence it has in each detection (person, PPE, body part and body part coverage). It also returns a bounding box (BoundingBox) for each detected person and each detected item of PPE.

You can optionally request a summary of detected PPE items with the SummarizationAttributes input parameter. The summary provides the following information.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectProtectiveEquipment action.

", "DetectText": "

Detects text in the input image and converts it into machine-readable text.

Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file.

The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image.

A word is one or more ISO basic latin script characters that are not separated by spaces. DetectText can detect up to 50 words in an image.

A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines.

To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field.

To be detected, text must be within +/- 90 degrees orientation of the horizontal axis.

For more information, see DetectText in the Amazon Rekognition Developer Guide.

", "GetCelebrityInfo": "

Gets the name and additional information about a celebrity based on his or her Amazon Rekognition ID. The additional information is returned as an array of URLs. If there is no additional information about the celebrity, this list is empty.

For more information, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:GetCelebrityInfo action.

", "GetCelebrityRecognition": "

Gets the celebrity recognition results for a Amazon Rekognition Video analysis started by StartCelebrityRecognition.

Celebrity recognition in a video is an asynchronous operation. Analysis is started by a call to StartCelebrityRecognition which returns a job identifier (JobId). When the celebrity recognition operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartCelebrityRecognition. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityDetection and pass the job identifier (JobId) from the initial call to StartCelebrityDetection.

For more information, see Working With Stored Videos in the Amazon Rekognition Developer Guide.

GetCelebrityRecognition returns detected celebrities and the time(s) they are detected in an array (Celebrities) of CelebrityRecognition objects. Each CelebrityRecognition contains information about the celebrity in a CelebrityDetail object and the time, Timestamp, the celebrity was detected.

GetCelebrityRecognition only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the Celebrities array is sorted by time (milliseconds from the start of the video). You can also sort the array by celebrity by specifying the value ID in the SortBy input parameter.

The CelebrityDetail object includes the celebrity identifer and additional information urls. If you don't store the additional information urls, you can get them later by calling GetCelebrityInfo with the celebrity identifer.

No information is returned for faces not recognized as celebrities.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetCelebrityDetection and populate the NextToken request parameter with the token value returned from the previous call to GetCelebrityRecognition.

", @@ -107,10 +108,23 @@ "FaceDetail$Beard": "

Indicates whether or not the face has a beard, and the confidence level in the determination.

" } }, + "BodyPart": { + "base": null, + "refs": { + "ProtectiveEquipmentBodyPart$Name": "

The detected body part.

" + } + }, + "BodyParts": { + "base": null, + "refs": { + "ProtectiveEquipmentPerson$BodyParts": "

An array of body parts detected on a person's body (including body parts without PPE).

" + } + }, "Boolean": { "base": null, "refs": { "Beard$Value": "

Boolean value that indicates whether the face has beard or not.

", + "CoversBodyPart$Value": "

True if the PPE covers the corresponding body part, otherwise false.

", "EyeOpen$Value": "

Boolean value that indicates whether the eyes on the face are open.

", "Eyeglasses$Value": "

Boolean value that indicates whether the face is wearing eye glasses or not.

", "MouthOpen$Value": "

Boolean value that indicates whether the mouth on the face is open or not.

", @@ -121,16 +135,18 @@ } }, "BoundingBox": { - "base": "

Identifies the bounding box around the label, face, or text. The left (x-coordinate) and top (y-coordinate) are coordinates representing the top and left sides of the bounding box. Note that the upper-left corner of the image is the origin (0,0).

The top and left values returned are ratios of the overall image size. For example, if the input image is 700x200 pixels, and the top-left coordinate of the bounding box is 350x50 pixels, the API returns a left value of 0.5 (350/700) and a top value of 0.25 (50/200).

The width and height values represent the dimensions of the bounding box as a ratio of the overall image dimension. For example, if the input image is 700x200 pixels, and the bounding box width is 70 pixels, the width returned is 0.1.

The bounding box coordinates can have negative values. For example, if Amazon Rekognition is able to detect a face that is at the image edge and is only partially visible, the service can return coordinates that are outside the image bounds and, depending on the image edge, you might get negative values or values greater than 1 for the left or top values.

", + "base": "

Identifies the bounding box around the label, face, text or personal protective equipment. The left (x-coordinate) and top (y-coordinate) are coordinates representing the top and left sides of the bounding box. Note that the upper-left corner of the image is the origin (0,0).

The top and left values returned are ratios of the overall image size. For example, if the input image is 700x200 pixels, and the top-left coordinate of the bounding box is 350x50 pixels, the API returns a left value of 0.5 (350/700) and a top value of 0.25 (50/200).

The width and height values represent the dimensions of the bounding box as a ratio of the overall image dimension. For example, if the input image is 700x200 pixels, and the bounding box width is 70 pixels, the width returned is 0.1.

The bounding box coordinates can have negative values. For example, if Amazon Rekognition is able to detect a face that is at the image edge and is only partially visible, the service can return coordinates that are outside the image bounds and, depending on the image edge, you might get negative values or values greater than 1 for the left or top values.

", "refs": { "CelebrityDetail$BoundingBox": "

Bounding box around the body of a celebrity.

", "ComparedFace$BoundingBox": "

Bounding box of the face.

", "ComparedSourceImageFace$BoundingBox": "

Bounding box of the face.

", + "EquipmentDetection$BoundingBox": "

A bounding box surrounding the item of detected PPE.

", "Face$BoundingBox": "

Bounding box of the face.

", "FaceDetail$BoundingBox": "

Bounding box of the face. Default attribute.

", "Geometry$BoundingBox": "

An axis-aligned coarse representation of the detected item's location on the image.

", "Instance$BoundingBox": "

The position of the label instance on the image.

", "PersonDetail$BoundingBox": "

Bounding box around the detected person.

", + "ProtectiveEquipmentPerson$BoundingBox": "

A bounding box around the detected person.

", "RegionOfInterest$BoundingBox": "

The box representing a region of interest on screen.

", "SearchFacesByImageResponse$SearchedFaceBoundingBox": "

The bounding box around the face in the input image that Amazon Rekognition used for the search.

" } @@ -297,6 +313,12 @@ "GetContentModerationRequest$SortBy": "

Sort to use for elements in the ModerationLabelDetections array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. The default sort is by TIMESTAMP.

" } }, + "CoversBodyPart": { + "base": "

Information about an item of Personal Protective Equipment covering a corresponding body part. For more information, see DetectProtectiveEquipment.

", + "refs": { + "EquipmentDetection$CoversBodyPart": "

Information about the body part covered by the detected PPE.

" + } + }, "CreateCollectionRequest": { "base": null, "refs": { @@ -498,6 +520,16 @@ "refs": { } }, + "DetectProtectiveEquipmentRequest": { + "base": null, + "refs": { + } + }, + "DetectProtectiveEquipmentResponse": { + "base": null, + "refs": { + } + }, "DetectTextFilters": { "base": "

A set of optional parameters that you can use to set the criteria that the text must meet to be included in your response. WordFilter looks at a word’s height, width, and minimum confidence. RegionOfInterest lets you set a specific region of the image to look for text in.

", "refs": { @@ -539,6 +571,18 @@ "FaceDetail$Emotions": "

The emotions that appear to be expressed on the face, and the confidence level in the determination. The API is only making a determination of the physical appearance of a person's face. It is not a determination of the person’s internal emotional state and should not be used in such a way. For example, a person pretending to have a sad face might not be sad emotionally.

" } }, + "EquipmentDetection": { + "base": "

Information about an item of Personal Protective Equipment (PPE) detected by DetectProtectiveEquipment. For more information, see DetectProtectiveEquipment.

", + "refs": { + "EquipmentDetections$member": null + } + }, + "EquipmentDetections": { + "base": null, + "refs": { + "ProtectiveEquipmentBodyPart$EquipmentDetections": "

An array of Personal Protective Equipment items detected around a body part.

" + } + }, "EvaluationResult": { "base": "

The evaluation results for the training of a model.

", "refs": { @@ -888,6 +932,7 @@ "DetectFacesRequest$Image": "

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

", "DetectLabelsRequest$Image": "

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. Images stored in an S3 Bucket do not need to be base64-encoded.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

", "DetectModerationLabelsRequest$Image": "

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

", + "DetectProtectiveEquipmentRequest$Image": "

The image in which you want to detect PPE on detected persons. The image can be passed as image bytes or you can reference an image stored in an Amazon S3 bucket.

", "DetectTextRequest$Image": "

The input image as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Rekognition operations, you can't pass image bytes.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

", "IndexFacesRequest$Image": "

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes isn't supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

", "RecognizeCelebritiesRequest$Image": "

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

", @@ -1253,12 +1298,14 @@ "CompareFacesRequest$SimilarityThreshold": "

The minimum level of confidence in the face matches that a match must meet to be included in the FaceMatches array.

", "ComparedFace$Confidence": "

Level of confidence that what the bounding box contains is a face.

", "ComparedSourceImageFace$Confidence": "

Confidence level that the selected bounding box contains a face.

", + "CoversBodyPart$Confidence": "

The confidence that Amazon Rekognition has in the value of Value.

", "CustomLabel$Confidence": "

The confidence that the model has in the detection of the custom label. The range is 0-100. A higher value indicates a higher confidence.

", "DetectCustomLabelsRequest$MinConfidence": "

Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence lower than this specified value. If you specify a value of 0, all labels are return, regardless of the default thresholds that the model version applies.

", "DetectLabelsRequest$MinConfidence": "

Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value.

If MinConfidence is not specified, the operation returns labels with a confidence values greater than or equal to 55 percent.

", "DetectModerationLabelsRequest$MinConfidence": "

Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value.

If you don't specify MinConfidence, the operation returns labels with confidence values greater than or equal to 50 percent.

", "DetectionFilter$MinConfidence": "

Sets confidence of word detection. Words with detection confidence below this will be excluded from the result. Values should be between 0.5 and 1 as Text in Video will not return any result below 0.5.

", "Emotion$Confidence": "

Level of confidence in the determination.

", + "EquipmentDetection$Confidence": "

The confidence that Amazon Rekognition has that the bounding box (BoundingBox) contains an item of PPE.

", "EyeOpen$Confidence": "

Level of confidence in the determination.

", "Eyeglasses$Confidence": "

Level of confidence in the determination.

", "Face$Confidence": "

Confidence level that the bounding box contains a face (and not a different object such as a tree).

", @@ -1271,6 +1318,9 @@ "ModerationLabel$Confidence": "

Specifies the confidence that Amazon Rekognition has that the label has been correctly identified.

If you don't specify the MinConfidence parameter in the call to DetectModerationLabels, the operation returns labels with a confidence value greater than or equal to 50 percent.

", "MouthOpen$Confidence": "

Level of confidence in the determination.

", "Mustache$Confidence": "

Level of confidence in the determination.

", + "ProtectiveEquipmentBodyPart$Confidence": "

The confidence that Amazon Rekognition has in the detection accuracy of the detected body part.

", + "ProtectiveEquipmentPerson$Confidence": "

The confidence that Amazon Rekognition has that the bounding box contains a person.

", + "ProtectiveEquipmentSummarizationAttributes$MinConfidence": "

The minimum confidence level for which you want summary information. The confidence level applies to person detection, body part detection, equipment detection, and body part coverage. Amazon Rekognition doesn't return summary information with a confidence than this specified value. There isn't a default value.

Specify a MinConfidence value that is between 50-100% as DetectProtectiveEquipment returns predictions only where the detection confidence is between 50% - 100%. If you specify a value that is less than 50%, the results are the same specifying a value of 50%.

", "SearchFacesByImageRequest$FaceMatchThreshold": "

(Optional) Specifies the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%. The default value is 80%.

", "SearchFacesByImageResponse$SearchedFaceConfidence": "

The level of confidence that the searchedFaceBoundingBox, contains a face.

", "SearchFacesRequest$FaceMatchThreshold": "

Optional value specifying the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%. The default value is 80%.

", @@ -1423,6 +1473,57 @@ "DescribeProjectsRequest$MaxResults": "

The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100.

" } }, + "ProtectiveEquipmentBodyPart": { + "base": "

Information about a body part detected by DetectProtectiveEquipment that contains PPE. An array of ProtectiveEquipmentBodyPart objects is returned for each person detected by DetectProtectiveEquipment.

", + "refs": { + "BodyParts$member": null + } + }, + "ProtectiveEquipmentPerson": { + "base": "

A person detected by a call to DetectProtectiveEquipment. The API returns all persons detected in the input image in an array of ProtectiveEquipmentPerson objects.

", + "refs": { + "ProtectiveEquipmentPersons$member": null + } + }, + "ProtectiveEquipmentPersonIds": { + "base": null, + "refs": { + "ProtectiveEquipmentSummary$PersonsWithRequiredEquipment": "

An array of IDs for persons who are wearing detected personal protective equipment.

", + "ProtectiveEquipmentSummary$PersonsWithoutRequiredEquipment": "

An array of IDs for persons who are not wearing all of the types of PPE specified in the RequiredEquipmentTypes field of the detected personal protective equipment.

", + "ProtectiveEquipmentSummary$PersonsIndeterminate": "

An array of IDs for persons where it was not possible to determine if they are wearing personal protective equipment.

" + } + }, + "ProtectiveEquipmentPersons": { + "base": null, + "refs": { + "DetectProtectiveEquipmentResponse$Persons": "

An array of persons detected in the image (including persons not wearing PPE).

" + } + }, + "ProtectiveEquipmentSummarizationAttributes": { + "base": "

Specifies summary attributes to return from a call to DetectProtectiveEquipment. You can specify which types of PPE to summarize. You can also specify a minimum confidence value for detections. Summary information is returned in the Summary (ProtectiveEquipmentSummary) field of the response from DetectProtectiveEquipment. The summary includes which persons in an image were detected wearing the requested types of person protective equipment (PPE), which persons were detected as not wearing PPE, and the persons in which a determination could not be made. For more information, see ProtectiveEquipmentSummary.

", + "refs": { + "DetectProtectiveEquipmentRequest$SummarizationAttributes": "

An array of PPE types that you want to summarize.

" + } + }, + "ProtectiveEquipmentSummary": { + "base": "

Summary information for required items of personal protective equipment (PPE) detected on persons by a call to DetectProtectiveEquipment. You specify the required type of PPE in the SummarizationAttributes (ProtectiveEquipmentSummarizationAttributes) input parameter. The summary includes which persons were detected wearing the required personal protective equipment (PersonsWithRequiredEquipment), which persons were detected as not wearing the required PPE (PersonsWithoutRequiredEquipment), and the persons in which a determination could not be made (PersonsIndeterminate).

To get a total for each category, use the size of the field array. For example, to find out how many people were detected as wearing the specified PPE, use the size of the PersonsWithRequiredEquipment array. If you want to find out more about a person, such as the location (BoundingBox) of the person on the image, use the person ID in each array element. Each person ID matches the ID field of a ProtectiveEquipmentPerson object returned in the Persons array by DetectProtectiveEquipment.

", + "refs": { + "DetectProtectiveEquipmentResponse$Summary": "

Summary information for the types of PPE specified in the SummarizationAttributes input parameter.

" + } + }, + "ProtectiveEquipmentType": { + "base": null, + "refs": { + "EquipmentDetection$Type": "

The type of detected PPE.

", + "ProtectiveEquipmentTypes$member": null + } + }, + "ProtectiveEquipmentTypes": { + "base": null, + "refs": { + "ProtectiveEquipmentSummarizationAttributes$RequiredEquipmentTypes": "

An array of personal protective equipment types for which you want summary information. If a person is detected wearing a required requipment type, the person's ID is added to the PersonsWithRequiredEquipment array field returned in ProtectiveEquipmentSummary by DetectProtectiveEquipment.

" + } + }, "ProvisionedThroughputExceededException": { "base": "

The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Rekognition.

", "refs": { @@ -1614,6 +1715,11 @@ "GetSegmentDetectionResponse$SelectedSegmentTypes": "

An array containing the segment types requested in the call to StartSegmentDetection.

" } }, + "ServiceQuotaExceededException": { + "base": "

The size of the collection exceeds the allowed limit. For more information, see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.

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

Information about a shot detection segment detected in a video. For more information, see SegmentDetection.

", "refs": { @@ -1857,6 +1963,7 @@ "DescribeStreamProcessorResponse$StatusMessage": "

Detailed status message about the stream processor.

", "DetectLabelsResponse$LabelModelVersion": "

Version number of the label detection model that was used to detect labels.

", "DetectModerationLabelsResponse$ModerationModelVersion": "

Version number of the moderation detection model that was used to detect unsafe content.

", + "DetectProtectiveEquipmentResponse$ProtectiveEquipmentModelVersion": "

The version number of the PPE detection model used to detect PPE in the image.

", "DetectTextResponse$TextModelVersion": "

The model version used to detect text.

", "FaceModelVersionList$member": null, "GetCelebrityInfoResponse$Name": "

The name of the celebrity.

", @@ -2000,6 +2107,8 @@ "DeleteCollectionResponse$StatusCode": "

HTTP status code that indicates the result of the operation.

", "DetectCustomLabelsRequest$MaxResults": "

Maximum number of results you want the service to return in the response. The service returns the specified number of highest confidence labels ranked from highest confidence to lowest.

", "DetectLabelsRequest$MaxLabels": "

Maximum number of labels you want the service to return in the response. The service returns the specified number of highest confidence labels.

", + "ProtectiveEquipmentPerson$Id": "

The identifier for the detected person. The identifier is only unique for a single call to DetectProtectiveEquipment.

", + "ProtectiveEquipmentPersonIds$member": null, "TextDetection$Id": "

The identifier for the detected text. The identifier is only unique for a single call to DetectText.

", "TextDetection$ParentId": "

The Parent identifier for the detected text identified by the value of ID. If the type of detected text is LINE, the value of ParentId is Null.

" } diff --git a/models/apis/ssm/2014-11-06/api-2.json b/models/apis/ssm/2014-11-06/api-2.json index 3d785e2ab98..3d1fd629179 100644 --- a/models/apis/ssm/2014-11-06/api-2.json +++ b/models/apis/ssm/2014-11-06/api-2.json @@ -7319,7 +7319,17 @@ "MsrcSeverity":{"shape":"PatchMsrcSeverity"}, "KbNumber":{"shape":"PatchKbNumber"}, "MsrcNumber":{"shape":"PatchMsrcNumber"}, - "Language":{"shape":"PatchLanguage"} + "Language":{"shape":"PatchLanguage"}, + "AdvisoryIds":{"shape":"PatchAdvisoryIdList"}, + "BugzillaIds":{"shape":"PatchBugzillaIdList"}, + "CVEIds":{"shape":"PatchCVEIdList"}, + "Name":{"shape":"PatchName"}, + "Epoch":{"shape":"PatchEpoch"}, + "Version":{"shape":"PatchVersion"}, + "Release":{"shape":"PatchRelease"}, + "Arch":{"shape":"PatchArch"}, + "Severity":{"shape":"PatchSeverity"}, + "Repository":{"shape":"PatchRepository"} } }, "PatchAction":{ @@ -7329,6 +7339,12 @@ "BLOCK" ] }, + "PatchAdvisoryId":{"type":"string"}, + "PatchAdvisoryIdList":{ + "type":"list", + "member":{"shape":"PatchAdvisoryId"} + }, + "PatchArch":{"type":"string"}, "PatchBaselineIdentity":{ "type":"structure", "members":{ @@ -7348,6 +7364,16 @@ "max":100, "min":1 }, + "PatchBugzillaId":{"type":"string"}, + "PatchBugzillaIdList":{ + "type":"list", + "member":{"shape":"PatchBugzillaId"} + }, + "PatchCVEId":{"type":"string"}, + "PatchCVEIdList":{ + "type":"list", + "member":{"shape":"PatchCVEId"} + }, "PatchClassification":{"type":"string"}, "PatchComplianceData":{ "type":"structure", @@ -7411,6 +7437,7 @@ ] }, "PatchDescription":{"type":"string"}, + "PatchEpoch":{"type":"integer"}, "PatchFailedCount":{"type":"integer"}, "PatchFilter":{ "type":"structure", @@ -7433,15 +7460,25 @@ "PatchFilterKey":{ "type":"string", "enum":[ + "ARCH", + "ADVISORY_ID", + "BUGZILLA_ID", "PATCH_SET", "PRODUCT", "PRODUCT_FAMILY", "CLASSIFICATION", + "CVE_ID", + "EPOCH", "MSRC_SEVERITY", + "NAME", "PATCH_ID", "SECTION", "PRIORITY", - "SEVERITY" + "REPOSITORY", + "RELEASE", + "SEVERITY", + "SECURITY", + "VERSION" ] }, "PatchFilterList":{ @@ -7506,6 +7543,7 @@ "PatchMissingCount":{"type":"integer"}, "PatchMsrcNumber":{"type":"string"}, "PatchMsrcSeverity":{"type":"string"}, + "PatchName":{"type":"string"}, "PatchNotApplicableCount":{"type":"integer"}, "PatchOperationType":{ "type":"string", @@ -7563,6 +7601,8 @@ "key":{"shape":"AttributeName"}, "value":{"shape":"AttributeValue"} }, + "PatchRelease":{"type":"string"}, + "PatchRepository":{"type":"string"}, "PatchRule":{ "type":"structure", "required":["PatchFilterGroup"], @@ -7660,6 +7700,7 @@ "PatchTitle":{"type":"string"}, "PatchUnreportedNotApplicableCount":{"type":"integer"}, "PatchVendor":{"type":"string"}, + "PatchVersion":{"type":"string"}, "PingStatus":{ "type":"string", "enum":[ diff --git a/models/apis/ssm/2014-11-06/docs-2.json b/models/apis/ssm/2014-11-06/docs-2.json index 2a815cd6a90..b933eb940bc 100644 --- a/models/apis/ssm/2014-11-06/docs-2.json +++ b/models/apis/ssm/2014-11-06/docs-2.json @@ -75,7 +75,7 @@ "GetOpsItem": "

Get information about an OpsItem by using the ID. You must have permission in AWS Identity and Access Management (IAM) to view information about an OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

", "GetOpsSummary": "

View a summary of OpsItems based on specified filters and aggregators.

", "GetParameter": "

Get information about a parameter by using the parameter name. Don't confuse this API action with the GetParameters API action.

", - "GetParameterHistory": "

Query a list of all parameters used by the AWS account.

", + "GetParameterHistory": "

Retrieves the history of all changes to a parameter.

", "GetParameters": "

Get details of a parameter. Don't confuse this API action with the GetParameter API action.

", "GetParametersByPath": "

Retrieve information about one or more parameters in a specific hierarchy.

Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

", "GetPatchBaseline": "

Retrieves information about a patch baseline.

", @@ -4904,7 +4904,7 @@ "base": null, "refs": { "DeleteParameterRequest$Name": "

The name of the parameter to delete.

", - "GetParameterHistoryRequest$Name": "

The name of a parameter you want to query.

", + "GetParameterHistoryRequest$Name": "

The name of the parameter for which you want to review history.

", "GetParameterRequest$Name": "

The name of the parameter you want to query.

", "GetParametersByPathRequest$Path": "

The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A parameter name hierarchy can have a maximum of 15 levels. Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33

", "LabelParameterVersionRequest$Name": "

The parameter name on which you want to attach one or more labels.

", @@ -5214,6 +5214,24 @@ "UpdatePatchBaselineResult$RejectedPatchesAction": "

The action specified to take on patches included in the RejectedPatches list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.

" } }, + "PatchAdvisoryId": { + "base": null, + "refs": { + "PatchAdvisoryIdList$member": null + } + }, + "PatchAdvisoryIdList": { + "base": null, + "refs": { + "Patch$AdvisoryIds": "

The Advisory ID of the patch. For example, RHSA-2020:3779. Applies to Linux-based instances only.

" + } + }, + "PatchArch": { + "base": null, + "refs": { + "Patch$Arch": "

The architecture of the patch. For example, in example-pkg-0.710.10-2.7.abcd.x86_64, the architecture is indicated by x86_64. Applies to Linux-based instances only.

" + } + }, "PatchBaselineIdentity": { "base": "

Defines the basic information about a patch baseline.

", "refs": { @@ -5236,10 +5254,34 @@ "DescribePatchGroupsRequest$MaxResults": "

The maximum number of patch groups to return (per page).

" } }, + "PatchBugzillaId": { + "base": null, + "refs": { + "PatchBugzillaIdList$member": null + } + }, + "PatchBugzillaIdList": { + "base": null, + "refs": { + "Patch$BugzillaIds": "

The Bugzilla ID of the patch. For example, 1600646. Applies to Linux-based instances only.

" + } + }, + "PatchCVEId": { + "base": null, + "refs": { + "PatchCVEIdList$member": null + } + }, + "PatchCVEIdList": { + "base": null, + "refs": { + "Patch$CVEIds": "

The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example, CVE-1999-0067. Applies to Linux-based instances only.

" + } + }, "PatchClassification": { "base": null, "refs": { - "Patch$Classification": "

The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).

", + "Patch$Classification": "

The classification of the patch. For example, SecurityUpdates, Updates, or CriticalUpdates.

", "PatchComplianceData$Classification": "

The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).

" } }, @@ -5298,6 +5340,12 @@ "Patch$Description": "

The description of the patch.

" } }, + "PatchEpoch": { + "base": null, + "refs": { + "Patch$Epoch": "

The epoch of the patch. For example in pkg-example-EE-20180914-2.2.amzn1.noarch, the epoch value is 20180914-2. Applies to Linux-based instances only.

" + } + }, "PatchFailedCount": { "base": null, "refs": { @@ -5381,7 +5429,7 @@ "PatchId": { "base": null, "refs": { - "Patch$Id": "

The ID of the patch (this is different than the Microsoft Knowledge Base ID).

", + "Patch$Id": "

The ID of the patch. Applies to Windows patches only.

This ID is not the same as the Microsoft Knowledge Base ID.

", "PatchIdList$member": null } }, @@ -5425,7 +5473,7 @@ "PatchKbNumber": { "base": null, "refs": { - "Patch$KbNumber": "

The Microsoft Knowledge Base ID of the patch.

", + "Patch$KbNumber": "

The Microsoft Knowledge Base ID of the patch. Applies to Windows patches only.

", "PatchComplianceData$KBId": "

The operating system-specific ID of the patch.

" } }, @@ -5450,13 +5498,19 @@ "PatchMsrcNumber": { "base": null, "refs": { - "Patch$MsrcNumber": "

The ID of the MSRC bulletin the patch is related to.

" + "Patch$MsrcNumber": "

The ID of the Microsoft Security Response Center (MSRC) bulletin the patch is related to. For example, MS14-045. Applies to Windows patches only.

" } }, "PatchMsrcSeverity": { "base": null, "refs": { - "Patch$MsrcSeverity": "

The severity of the patch (for example Critical, Important, Moderate).

" + "Patch$MsrcSeverity": "

The severity of the patch, such as Critical, Important, or Moderate. Applies to Windows patches only.

" + } + }, + "PatchName": { + "base": null, + "refs": { + "Patch$Name": "

The name of the patch. Applies to Linux-based instances only.

" } }, "PatchNotApplicableCount": { @@ -5508,13 +5562,13 @@ "PatchProduct": { "base": null, "refs": { - "Patch$Product": "

The specific product the patch is applicable for (for example, WindowsServer2016).

" + "Patch$Product": "

The specific product the patch is applicable for. For example, WindowsServer2016 or AmazonLinux2018.03.

" } }, "PatchProductFamily": { "base": null, "refs": { - "Patch$ProductFamily": "

The product family the patch is applicable for (for example, Windows).

" + "Patch$ProductFamily": "

The product family the patch is applicable for. For example, Windows or Amazon Linux 2.

" } }, "PatchPropertiesList": { @@ -5535,6 +5589,18 @@ "PatchPropertiesList$member": null } }, + "PatchRelease": { + "base": null, + "refs": { + "Patch$Release": "

The particular release of a patch. For example, in pkg-example-EE-20180914-2.2.amzn1.noarch, the release is 2.amaz1. Applies to Linux-based instances only.

" + } + }, + "PatchRepository": { + "base": null, + "refs": { + "Patch$Repository": "

The source patch repository for the operating system and version, such as trusty-security for Ubuntu Server 14.04 LTE and focal-security for Ubuntu Server 20.04 LTE. Applies to Linux-based instances only.

" + } + }, "PatchRule": { "base": "

Defines an approval rule for a patch baseline.

", "refs": { @@ -5565,6 +5631,7 @@ "PatchSeverity": { "base": null, "refs": { + "Patch$Severity": "

The severity level of the patch. For example, CRITICAL or MODERATE.

", "PatchComplianceData$Severity": "

The severity of the patch (for example, Critical, Important, Moderate).

" } }, @@ -5638,6 +5705,12 @@ "Patch$Vendor": "

The name of the vendor providing the patch.

" } }, + "PatchVersion": { + "base": null, + "refs": { + "Patch$Version": "

The version number of the patch. For example, in example-pkg-1.710.10-2.7.abcd.x86_64, the version number is indicated by -1. Applies to Linux-based instances only.

" + } + }, "PingStatus": { "base": null, "refs": { diff --git a/models/apis/transfer/2018-11-05/api-2.json b/models/apis/transfer/2018-11-05/api-2.json index 20f8677da7e..94b3428fba2 100644 --- a/models/apis/transfer/2018-11-05/api-2.json +++ b/models/apis/transfer/2018-11-05/api-2.json @@ -542,7 +542,8 @@ "AddressAllocationIds":{"shape":"AddressAllocationIds"}, "SubnetIds":{"shape":"SubnetIds"}, "VpcEndpointId":{"shape":"VpcEndpointId"}, - "VpcId":{"shape":"VpcId"} + "VpcId":{"shape":"VpcId"}, + "SecurityGroupIds":{"shape":"SecurityGroupIds"} } }, "EndpointType":{ @@ -837,6 +838,16 @@ "min":20, "pattern":"arn:.*role/.*" }, + "SecurityGroupId":{ + "type":"string", + "max":20, + "min":11, + "pattern":"^sg-[0-9a-f]{8,17}$" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"} + }, "SecurityPolicyName":{ "type":"string", "max":100, diff --git a/models/apis/transfer/2018-11-05/docs-2.json b/models/apis/transfer/2018-11-05/docs-2.json index 390c8c66248..78b364947f2 100644 --- a/models/apis/transfer/2018-11-05/docs-2.json +++ b/models/apis/transfer/2018-11-05/docs-2.json @@ -16,7 +16,7 @@ "ListTagsForResource": "

Lists all of the tags associated with the Amazon Resource Number (ARN) you specify. The resource can be a user, server, or role.

", "ListUsers": "

Lists the users for a file transfer protocol-enabled server that you specify by passing the ServerId parameter.

", "StartServer": "

Changes the state of a file transfer protocol-enabled server from OFFLINE to ONLINE. It has no impact on a server that is already ONLINE. An ONLINE server can accept and process file transfer jobs.

The state of STARTING indicates that the server is in an intermediate state, either not fully able to respond, or not fully online. The values of START_FAILED can indicate an error condition.

No response is returned from this call.

", - "StopServer": "

Changes the state of a file transfer protocol-enabled server from ONLINE to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. Information tied to your server, such as server and user properties, are not affected by stopping your server. Stopping the server will not reduce or impact your file transfer protocol endpoint billing.

The state of STOPPING indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of STOP_FAILED can indicate an error condition.

No response is returned from this call.

", + "StopServer": "

Changes the state of a file transfer protocol-enabled server from ONLINE to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. Information tied to your server, such as server and user properties, are not affected by stopping your server.

Stopping the server will not reduce or impact your file transfer protocol endpoint billing; you must delete the server to stop being billed.

The state of STOPPING indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of STOP_FAILED can indicate an error condition.

No response is returned from this call.

", "TagResource": "

Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

There is no response returned from this call.

", "TestIdentityProvider": "

If the IdentityProviderType of a file transfer protocol-enabled server is API_Gateway, tests whether your API Gateway is set up successfully. We highly recommend that you call this operation to test your authentication method as soon as you create your server. By doing so, you can troubleshoot issues with the API Gateway integration to ensure that your users can successfully use the service.

", "UntagResource": "

Detaches a key-value pair from a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

No response is returned from this call.

", @@ -38,17 +38,17 @@ "AddressAllocationIds": { "base": null, "refs": { - "EndpointDetails$AddressAllocationIds": "

A list of address allocation IDs that are required to attach an Elastic IP address to your file transfer protocol-enabled server's endpoint. This is only valid in the UpdateServer API.

This property can only be use when EndpointType is set to VPC.

" + "EndpointDetails$AddressAllocationIds": "

A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.

This property can only be set when EndpointType is set to VPC and it is only valid in the UpdateServer API.

" } }, "Arn": { "base": null, "refs": { - "DescribedServer$Arn": "

Specifies the unique Amazon Resource Name (ARN) of the file transfer protocol-enabled server.

", + "DescribedServer$Arn": "

Specifies the unique Amazon Resource Name (ARN) of the server.

", "DescribedUser$Arn": "

Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described.

", "ListTagsForResourceRequest$Arn": "

Requests the tags associated with a particular Amazon Resource Name (ARN). An ARN is an identifier for a specific AWS resource, such as a server, user, or role.

", "ListTagsForResourceResponse$Arn": "

The ARN you specified to list the tags of.

", - "ListedServer$Arn": "

Specifies the unique Amazon Resource Name (ARN) for a file transfer protocol-enabled server to be listed.

", + "ListedServer$Arn": "

Specifies the unique Amazon Resource Name (ARN) for a server to be listed.

", "ListedUser$Arn": "

Provides the unique Amazon Resource Name (ARN) for the user that you want to learn about.

", "TagResourceRequest$Arn": "

An Amazon Resource Name (ARN) for a specific AWS resource, such as a server, user, or role.

", "UntagResourceRequest$Arn": "

The value of the resource that will have the tag removed. An Amazon Resource Name (ARN) is an identifier for a specific AWS resource, such as a server, user, or role.

" @@ -147,7 +147,7 @@ "DescribedServer": { "base": "

Describes the properties of a file transfer protocol-enabled server that was specified.

", "refs": { - "DescribeServerResponse$Server": "

An array containing the properties of a file transfer protocol-enabled server with the ServerID you specified.

" + "DescribeServerResponse$Server": "

An array containing the properties of a server with the ServerID you specified.

" } }, "DescribedUser": { @@ -159,18 +159,18 @@ "EndpointDetails": { "base": "

The virtual private cloud (VPC) endpoint settings that are configured for your file transfer protocol-enabled server. With a VPC endpoint, you can restrict access to your server and resources only within your VPC. To control incoming internet traffic, invoke the UpdateServer API and attach an Elastic IP to your server's endpoint.

", "refs": { - "CreateServerRequest$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your file transfer protocol-enabled server. When you host your endpoint within your VPC, you can make it accessible only to resources within your VPC, or you can attach Elastic IPs and make it accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

", - "DescribedServer$EndpointDetails": "

Specifies the virtual private cloud (VPC) endpoint settings that you configured for your file transfer protocol-enabled server.

", - "UpdateServerRequest$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your file transfer protocol-enabled server. With a VPC endpoint, you can restrict access to your server to resources only within your VPC. To control incoming internet traffic, you will need to associate one or more Elastic IP addresses with your server's endpoint.

" + "CreateServerRequest$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make it accessible only to resources within your VPC, or you can attach Elastic IPs and make it accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

", + "DescribedServer$EndpointDetails": "

Specifies the virtual private cloud (VPC) endpoint settings that you configured for your server.

", + "UpdateServerRequest$EndpointDetails": "

The virtual private cloud (VPC) endpoint settings that are configured for your server. With a VPC endpoint, you can restrict access to your server to resources only within your VPC. To control incoming internet traffic, you will need to associate one or more Elastic IP addresses with your server's endpoint.

" } }, "EndpointType": { "base": null, "refs": { - "CreateServerRequest$EndpointType": "

The type of VPC endpoint that you want your file transfer protocol-enabled server to connect to. You can choose to connect to the public internet or a VPC endpoint. With a VPC endpoint, you can restrict access to your server and resources only within your VPC.

It is recommended that you use VPC as the EndpointType. With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with EndpointType set to VPC_ENDPOINT.

", - "DescribedServer$EndpointType": "

Defines the type of endpoint that your file transfer protocol-enabled server is connected to. If your server is connected to a VPC endpoint, your server isn't accessible over the public internet.

", - "ListedServer$EndpointType": "

Specifies the type of VPC endpoint that your file transfer protocol-enabled server is connected to. If your server is connected to a VPC endpoint, your server isn't accessible over the public internet.

", - "UpdateServerRequest$EndpointType": "

The type of endpoint that you want your file transfer protocol-enabled server to connect to. You can choose to connect to the public internet or a VPC endpoint. With a VPC endpoint, you can restrict access to your server and resources only within your VPC.

It is recommended that you use VPC as the EndpointType. With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with EndpointType set to VPC_ENDPOINT.

" + "CreateServerRequest$EndpointType": "

The type of VPC endpoint that you want your server to connect to. You can choose to connect to the public internet or a VPC endpoint. With a VPC endpoint, you can restrict access to your server and resources only within your VPC.

It is recommended that you use VPC as the EndpointType. With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with EndpointType set to VPC_ENDPOINT.

", + "DescribedServer$EndpointType": "

Defines the type of endpoint that your server is connected to. If your server is connected to a VPC endpoint, your server isn't accessible over the public internet.

", + "ListedServer$EndpointType": "

Specifies the type of VPC endpoint that your server is connected to. If your server is connected to a VPC endpoint, your server isn't accessible over the public internet.

", + "UpdateServerRequest$EndpointType": "

The type of endpoint that you want your server to connect to. You can choose to connect to the public internet or a VPC endpoint. With a VPC endpoint, you can restrict access to your server and resources only within your VPC.

It is recommended that you use VPC as the EndpointType. With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with EndpointType set to VPC_ENDPOINT.

" } }, "Fips": { @@ -182,10 +182,10 @@ "HomeDirectory": { "base": null, "refs": { - "CreateUserRequest$HomeDirectory": "

The landing directory (folder) for a user when they log in to the file transfer protocol-enabled server using the client.

An example is your-Amazon-S3-bucket-name>/home/username .

", + "CreateUserRequest$HomeDirectory": "

The landing directory (folder) for a user when they log in to the server using the client.

An example is your-Amazon-S3-bucket-name>/home/username .

", "DescribedUser$HomeDirectory": "

Specifies the landing directory (or folder), which is the location that files are written to or read from in an Amazon S3 bucket, for the described user. An example is your-Amazon-S3-bucket-name>/home/username .

", "ListedUser$HomeDirectory": "

Specifies the location that files are written to or read from an Amazon S3 bucket for the user you specify by their ARN.

", - "UpdateUserRequest$HomeDirectory": "

Specifies the landing directory (folder) for a user when they log in to the file transfer protocol-enabled server using their file transfer protocol client.

An example is your-Amazon-S3-bucket-name>/home/username.

" + "UpdateUserRequest$HomeDirectory": "

Specifies the landing directory (folder) for a user when they log in to the server using their file transfer protocol client.

An example is your-Amazon-S3-bucket-name>/home/username.

" } }, "HomeDirectoryMapEntry": { @@ -205,17 +205,17 @@ "HomeDirectoryType": { "base": null, "refs": { - "CreateUserRequest$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the file transfer protocol-enabled server. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

", + "CreateUserRequest$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

", "DescribedUser$HomeDirectoryType": "

Specifies the type of landing directory (folder) you mapped for your users to see when they log into the file transfer protocol-enabled server. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

", "ListedUser$HomeDirectoryType": "

Specifies the type of landing directory (folder) you mapped for your users' home directory. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

", - "UpdateUserRequest$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the file transfer protocol-enabled server. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

" + "UpdateUserRequest$HomeDirectoryType": "

The type of landing directory (folder) you want your users' home directory to be when they log into the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

" } }, "HostKey": { "base": null, "refs": { "CreateServerRequest$HostKey": "

The RSA private key as generated by the ssh-keygen -N \"\" -m PEM -f my-new-server-key command.

If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.

For more information, see Change the host key for your SFTP-enabled server in the AWS Transfer Family User Guide.

", - "UpdateServerRequest$HostKey": "

The RSA private key as generated by ssh-keygen -N \"\" -m PEM -f my-new-server-key.

If you aren't planning to migrate existing users from an existing file transfer protocol-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.

For more information, see Change the host key for your SFTP-enabled server in the AWS Transfer Family User Guide.

" + "UpdateServerRequest$HostKey": "

The RSA private key as generated by ssh-keygen -N \"\" -m PEM -f my-new-server-key.

If you aren't planning to migrate existing users from an existing server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.

For more information, see Change the host key for your SFTP-enabled server in the AWS Transfer Family User Guide.

" } }, "HostKeyFingerprint": { @@ -228,16 +228,16 @@ "base": "

Returns information related to the type of user authentication that is in use for a file transfer protocol-enabled server's users. A server can have only one method of authentication.

", "refs": { "CreateServerRequest$IdentityProviderDetails": "

Required when IdentityProviderType is set to API_GATEWAY. Accepts an array containing all of the information required to call a customer-supplied authentication API, including the API Gateway URL. Not required when IdentityProviderType is set to SERVICE_MANAGED.

", - "DescribedServer$IdentityProviderDetails": "

Specifies information to call a customer-supplied authentication API. This field is not populated when the IdentityProviderType of a file transfer protocol-enabled server is SERVICE_MANAGED.

", + "DescribedServer$IdentityProviderDetails": "

Specifies information to call a customer-supplied authentication API. This field is not populated when the IdentityProviderType of a server is SERVICE_MANAGED.

", "UpdateServerRequest$IdentityProviderDetails": "

An array containing all of the information required to call a customer's authentication API method.

" } }, "IdentityProviderType": { "base": "

Returns information related to the type of user authentication that is in use for a file transfer protocol-enabled server's users. For SERVICE_MANAGED authentication, the Secure Shell (SSH) public keys are stored with a user on the server instance. For API_GATEWAY authentication, your custom authentication method is implemented by using an API call. The server can have only one method of authentication.

", "refs": { - "CreateServerRequest$IdentityProviderType": "

Specifies the mode of authentication for a file transfer protocol-enabled server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the AWS Transfer Family service. Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an API Gateway endpoint URL to call for authentication using the IdentityProviderDetails parameter.

", - "DescribedServer$IdentityProviderType": "

Specifies the mode of authentication method enabled for this service. A value of SERVICE_MANAGED means that you are using this file transfer protocol-enabled server to store and access user credentials within the service. A value of API_GATEWAY indicates that you have integrated an API Gateway endpoint that will be invoked for authenticating your user into the service.

", - "ListedServer$IdentityProviderType": "

Specifies the authentication method used to validate a user for a file transfer protocol-enabled server that was specified. This can include Secure Shell (SSH), user name and password combinations, or your own custom authentication method. Valid values include SERVICE_MANAGED or API_GATEWAY.

" + "CreateServerRequest$IdentityProviderType": "

Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the AWS Transfer Family service. Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an API Gateway endpoint URL to call for authentication using the IdentityProviderDetails parameter.

", + "DescribedServer$IdentityProviderType": "

Specifies the mode of authentication method enabled for this service. A value of SERVICE_MANAGED means that you are using this server to store and access user credentials within the service. A value of API_GATEWAY indicates that you have integrated an API Gateway endpoint that will be invoked for authenticating your user into the service.

", + "ListedServer$IdentityProviderType": "

Specifies the authentication method used to validate a user for a server that was specified. This can include Secure Shell (SSH), user name and password combinations, or your own custom authentication method. Valid values include SERVICE_MANAGED or API_GATEWAY.

" } }, "ImportSshPublicKeyRequest": { @@ -246,7 +246,7 @@ } }, "ImportSshPublicKeyResponse": { - "base": "

Identifies the user, the file transfer protocol-enabled server they belong to, and the identifier of the SSH public key associated with that user. A user can have more than one key on each server that they are associated with.

", + "base": "

Identifies the user, the server they belong to, and the identifier of the SSH public key associated with that user. A user can have more than one key on each server that they are associated with.

", "refs": { } }, @@ -314,7 +314,7 @@ "ListedServers": { "base": null, "refs": { - "ListServersResponse$Servers": "

An array of file transfer protocol-enabled servers that were listed.

" + "ListServersResponse$Servers": "

An array of servers that were listed.

" } }, "ListedUser": { @@ -345,7 +345,7 @@ "base": null, "refs": { "ListSecurityPoliciesRequest$MaxResults": "

Specifies the number of security policies to return as a response to the ListSecurityPolicies query.

", - "ListServersRequest$MaxResults": "

Specifies the number of file transfer protocol-enabled servers to return as a response to the ListServers query.

", + "ListServersRequest$MaxResults": "

Specifies the number of servers to return as a response to the ListServers query.

", "ListTagsForResourceRequest$MaxResults": "

Specifies the number of tags to return as a response to the ListTagsForResource request.

", "ListUsersRequest$MaxResults": "

Specifies the number of users to return as a response to the ListUsers request.

" } @@ -367,8 +367,8 @@ "refs": { "ListSecurityPoliciesRequest$NextToken": "

When additional results are obtained from the ListSecurityPolicies command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional security policies.

", "ListSecurityPoliciesResponse$NextToken": "

When you can get additional results from the ListSecurityPolicies operation, a NextToken parameter is returned in the output. In a following command, you can pass in the NextToken parameter to continue listing security policies.

", - "ListServersRequest$NextToken": "

When additional results are obtained from the ListServers command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional file transfer protocol-enabled servers.

", - "ListServersResponse$NextToken": "

When you can get additional results from the ListServers operation, a NextToken parameter is returned in the output. In a following command, you can pass in the NextToken parameter to continue listing additional file transfer protocol-enabled servers.

", + "ListServersRequest$NextToken": "

When additional results are obtained from the ListServers command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional servers.

", + "ListServersResponse$NextToken": "

When you can get additional results from the ListServers operation, a NextToken parameter is returned in the output. In a following command, you can pass in the NextToken parameter to continue listing additional servers.

", "ListTagsForResourceRequest$NextToken": "

When you request additional results from the ListTagsForResource operation, a NextToken parameter is returned in the input. You can then pass in a subsequent command to the NextToken parameter to continue listing additional tags.

", "ListTagsForResourceResponse$NextToken": "

When you can get additional results from the ListTagsForResource call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional tags.

", "ListUsersRequest$NextToken": "

When you can get additional results from the ListUsers call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional users.

", @@ -399,7 +399,7 @@ "Protocols": { "base": null, "refs": { - "CreateServerRequest$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

If you select FTPS, you must choose a certificate stored in AWS Certificate Manager (ACM) which will be used to identify your file transfer protocol-enabled server when clients connect to it over FTPS.

If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be API_GATEWAY.

If Protocol includes FTP, then AddressAllocationIds cannot be associated.

If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set to SERVICE_MANAGED.

", + "CreateServerRequest$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

If you select FTPS, you must choose a certificate stored in AWS Certificate Manager (ACM) which will be used to identify your server when clients connect to it over FTPS.

If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be API_GATEWAY.

If Protocol includes FTP, then AddressAllocationIds cannot be associated.

If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set to SERVICE_MANAGED.

", "DescribedServer$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

", "UpdateServerRequest$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

If you select FTPS, you must choose a certificate stored in AWS Certificate Manager (ACM) which will be used to identify your server when clients connect to it over FTPS.

If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be API_GATEWAY.

If Protocol includes FTP, then AddressAllocationIds cannot be associated.

If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set to SERVICE_MANAGED.

" } @@ -444,13 +444,25 @@ "base": null, "refs": { "CreateServerRequest$LoggingRole": "

Allows the service to write your users' activity to your Amazon CloudWatch logs for monitoring and auditing purposes.

", - "CreateUserRequest$Role": "

The IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the file transfer protocol-enabled server to access your resources when servicing your users' transfer requests.

", - "DescribedServer$LoggingRole": "

Specifies the AWS Identity and Access Management (IAM) role that allows a file transfer protocol-enabled server to turn on Amazon CloudWatch logging for Amazon S3 events. When set, user activity can be viewed in your CloudWatch logs.

", - "DescribedUser$Role": "

Specifies the IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows a file transfer protocol-enabled server to access your resources when servicing your users' transfer requests.

", + "CreateUserRequest$Role": "

The IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", + "DescribedServer$LoggingRole": "

Specifies the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 events. When set, user activity can be viewed in your CloudWatch logs.

", + "DescribedUser$Role": "

Specifies the IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows a server to access your resources when servicing your users' transfer requests.

", "IdentityProviderDetails$InvocationRole": "

Provides the type of InvocationRole used to authenticate the user account.

", - "ListedServer$LoggingRole": "

Specifies the AWS Identity and Access Management (IAM) role that allows a file transfer protocol-enabled server to turn on Amazon CloudWatch logging.

", + "ListedServer$LoggingRole": "

Specifies the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging.

", "ListedUser$Role": "

Specifies the role that is in use by this user. A role is an AWS Identity and Access Management (IAM) entity that, in this case, allows a file transfer protocol-enabled server to act on a user's behalf. It allows the server to inherit the trust relationship that enables that user to perform file operations to their Amazon S3 bucket.

", - "UpdateUserRequest$Role": "

The IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the file transfer protocol-enabled server to access your resources when servicing your users' transfer requests.

" + "UpdateUserRequest$Role": "

The IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

" + } + }, + "SecurityGroupId": { + "base": null, + "refs": { + "SecurityGroupIds$member": null + } + }, + "SecurityGroupIds": { + "base": null, + "refs": { + "EndpointDetails$SecurityGroupIds": "

A list of security groups IDs that are available to attach to your server's endpoint.

This property can only be set when EndpointType is set to VPC.

You can only edit the SecurityGroupIds property in the UpdateServer API and only if you are changing the EndpointType from PUBLIC or VPC_ENDPOINT to VPC.

" } }, "SecurityPolicyName": { @@ -488,28 +500,28 @@ "ServerId": { "base": null, "refs": { - "CreateServerResponse$ServerId": "

The service-assigned ID of the file transfer protocol-enabled server that is created.

", - "CreateUserRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server instance. This is the specific server that you added your user to.

", - "CreateUserResponse$ServerId": "

The ID of the file transfer protocol-enabled server that the user is attached to.

", - "DeleteServerRequest$ServerId": "

A unique system-assigned identifier for a file transfer protocol-enabled server instance.

", + "CreateServerResponse$ServerId": "

The service-assigned ID of the server that is created.

", + "CreateUserRequest$ServerId": "

A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.

", + "CreateUserResponse$ServerId": "

The ID of the server that the user is attached to.

", + "DeleteServerRequest$ServerId": "

A unique system-assigned identifier for a server instance.

", "DeleteSshPublicKeyRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server instance that has the user assigned to it.

", - "DeleteUserRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server instance that has the user assigned to it.

", - "DescribeServerRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server.

", - "DescribeUserRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server that has this user assigned.

", - "DescribeUserResponse$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server that has this user assigned.

", - "DescribedServer$ServerId": "

Specifies the unique system-assigned identifier for a file transfer protocol-enabled server that you instantiate.

", - "ImportSshPublicKeyRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server.

", - "ImportSshPublicKeyResponse$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server.

", - "ListUsersRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server that has users assigned to it.

", - "ListUsersResponse$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server that the users are assigned to.

", - "ListedServer$ServerId": "

Specifies the unique system assigned identifier for a file transfer protocol-enabled servers that were listed.

", - "StartServerRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server that you start.

", - "StopServerRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server that you stopped.

", - "TestIdentityProviderRequest$ServerId": "

A system-assigned identifier for a specific file transfer protocol-enabled server. That server's user authentication method is tested with a user name and password.

", - "UpdateServerRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server instance that the user account is assigned to.

", - "UpdateServerResponse$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server that the user account is assigned to.

", - "UpdateUserRequest$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server instance that the user account is assigned to.

", - "UpdateUserResponse$ServerId": "

A system-assigned unique identifier for a file transfer protocol-enabled server instance that the user account is assigned to.

" + "DeleteUserRequest$ServerId": "

A system-assigned unique identifier for a server instance that has the user assigned to it.

", + "DescribeServerRequest$ServerId": "

A system-assigned unique identifier for a server.

", + "DescribeUserRequest$ServerId": "

A system-assigned unique identifier for a server that has this user assigned.

", + "DescribeUserResponse$ServerId": "

A system-assigned unique identifier for a server that has this user assigned.

", + "DescribedServer$ServerId": "

Specifies the unique system-assigned identifier for a server that you instantiate.

", + "ImportSshPublicKeyRequest$ServerId": "

A system-assigned unique identifier for a server.

", + "ImportSshPublicKeyResponse$ServerId": "

A system-assigned unique identifier for a server.

", + "ListUsersRequest$ServerId": "

A system-assigned unique identifier for a server that has users assigned to it.

", + "ListUsersResponse$ServerId": "

A system-assigned unique identifier for a server that the users are assigned to.

", + "ListedServer$ServerId": "

Specifies the unique system assigned identifier for the servers that were listed.

", + "StartServerRequest$ServerId": "

A system-assigned unique identifier for a server that you start.

", + "StopServerRequest$ServerId": "

A system-assigned unique identifier for a server that you stopped.

", + "TestIdentityProviderRequest$ServerId": "

A system-assigned identifier for a specific server. That server's user authentication method is tested with a user name and password.

", + "UpdateServerRequest$ServerId": "

A system-assigned unique identifier for a server instance that the user account is assigned to.

", + "UpdateServerResponse$ServerId": "

A system-assigned unique identifier for a server that the user account is assigned to.

", + "UpdateUserRequest$ServerId": "

A system-assigned unique identifier for a server instance that the user account is assigned to.

", + "UpdateUserResponse$ServerId": "

A system-assigned unique identifier for a server instance that the user account is assigned to.

" } }, "ServiceErrorMessage": { @@ -539,7 +551,7 @@ "SshPublicKeyBody": { "base": null, "refs": { - "CreateUserRequest$SshPublicKeyBody": "

The public portion of the Secure Shell (SSH) key used to authenticate the user to the file transfer protocol-enabled server.

", + "CreateUserRequest$SshPublicKeyBody": "

The public portion of the Secure Shell (SSH) key used to authenticate the user to the server.

", "ImportSshPublicKeyRequest$SshPublicKeyBody": "

The public key portion of an SSH key pair.

", "SshPublicKey$SshPublicKeyBody": "

Specifies the content of the SSH public key as specified by the PublicKeyId.

" } @@ -572,8 +584,8 @@ "State": { "base": "

Describes the condition of a file transfer protocol-enabled server with respect to its ability to perform file operations. There are six possible states: OFFLINE, ONLINE, STARTING, STOPPING, START_FAILED, and STOP_FAILED.

OFFLINE indicates that the server exists, but that it is not available for file operations. ONLINE indicates that the server is available to perform file operations. STARTING indicates that the server's was instantiated, but the server is not yet available to perform file operations. Under normal conditions, it can take a couple of minutes for the server to be completely operational. Both START_FAILED and STOP_FAILED are error conditions.

", "refs": { - "DescribedServer$State": "

Specifies the condition of a file transfer protocol-enabled server for the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

", - "ListedServer$State": "

Specifies the condition of a file transfer protocol-enabled server for the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

" + "DescribedServer$State": "

Specifies the condition of a server for the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

", + "ListedServer$State": "

Specifies the condition of a server for the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

" } }, "StatusCode": { @@ -596,7 +608,7 @@ "SubnetIds": { "base": null, "refs": { - "EndpointDetails$SubnetIds": "

A list of subnet IDs that are required to host your file transfer protocol-enabled server endpoint in your VPC.

This property can only be used when EndpointType is set to VPC.

" + "EndpointDetails$SubnetIds": "

A list of subnet IDs that are required to host your server endpoint in your VPC.

This property can only be set when EndpointType is set to VPC.

" } }, "Tag": { @@ -632,9 +644,9 @@ "Tags": { "base": null, "refs": { - "CreateServerRequest$Tags": "

Key-value pairs that can be used to group and search for file transfer protocol-enabled servers.

", + "CreateServerRequest$Tags": "

Key-value pairs that can be used to group and search for servers.

", "CreateUserRequest$Tags": "

Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose.

", - "DescribedServer$Tags": "

Specifies the key-value pairs that you can use to search for and group file transfer protocol-enabled servers that were assigned to the server that was described.

", + "DescribedServer$Tags": "

Specifies the key-value pairs that you can use to search for and group servers that were assigned to the server that was described.

", "DescribedUser$Tags": "

Specifies the key-value pairs for the user requested. Tag can be used to search for and group users for a variety of purposes.

", "ListTagsForResourceResponse$Tags": "

Key-value pairs that are assigned to a resource, usually for the purpose of grouping and searching for items. Tags are metadata that you define.

", "TagResourceRequest$Tags": "

Key-value pairs assigned to ARNs that you can use to group and search for resources by type. You can attach this metadata to user accounts for any purpose.

" @@ -676,7 +688,7 @@ } }, "UpdateUserResponse": { - "base": "

UpdateUserResponse returns the user name and file transfer protocol-enabled server identifier for the request to update a user's properties.

", + "base": "

UpdateUserResponse returns the user name and identifier for the request to update a user's properties.

", "refs": { } }, @@ -690,25 +702,25 @@ "UserCount": { "base": null, "refs": { - "DescribedServer$UserCount": "

Specifies the number of users that are assigned to a file transfer protocol-enabled server you specified with the ServerId.

", - "ListedServer$UserCount": "

Specifies the number of users that are assigned to a file transfer protocol-enabled server you specified with the ServerId.

" + "DescribedServer$UserCount": "

Specifies the number of users that are assigned to a server you specified with the ServerId.

", + "ListedServer$UserCount": "

Specifies the number of users that are assigned to a server you specified with the ServerId.

" } }, "UserName": { "base": null, "refs": { - "CreateUserRequest$UserName": "

A unique string that identifies a user and is associated with a file transfer protocol-enabled server as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, and at sign.

", - "CreateUserResponse$UserName": "

A unique string that identifies a user account associated with a file transfer protocol-enabled server.

", + "CreateUserRequest$UserName": "

A unique string that identifies a user and is associated with a as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.

", + "CreateUserResponse$UserName": "

A unique string that identifies a user account associated with a server.

", "DeleteSshPublicKeyRequest$UserName": "

A unique string that identifies a user whose public key is being deleted.

", - "DeleteUserRequest$UserName": "

A unique string that identifies a user that is being deleted from a file transfer protocol-enabled server.

", - "DescribeUserRequest$UserName": "

The name of the user assigned to one or more file transfer protocol-enabled servers. User names are part of the sign-in credentials to use the AWS Transfer Family service and perform file transfer tasks.

", - "DescribedUser$UserName": "

Specifies the name of the user that was requested to be described. User names are used for authentication purposes. This is the string that will be used by your user when they log in to your file transfer protocol-enabled server.

", - "ImportSshPublicKeyRequest$UserName": "

The name of the user account that is assigned to one or more file transfer protocol-enabled servers.

", + "DeleteUserRequest$UserName": "

A unique string that identifies a user that is being deleted from a server.

", + "DescribeUserRequest$UserName": "

The name of the user assigned to one or more servers. User names are part of the sign-in credentials to use the AWS Transfer Family service and perform file transfer tasks.

", + "DescribedUser$UserName": "

Specifies the name of the user that was requested to be described. User names are used for authentication purposes. This is the string that will be used by your user when they log in to your server.

", + "ImportSshPublicKeyRequest$UserName": "

The name of the user account that is assigned to one or more servers.

", "ImportSshPublicKeyResponse$UserName": "

A user name assigned to the ServerID value that you specified.

", "ListedUser$UserName": "

Specifies the name of the user whose ARN was specified. User names are used for authentication purposes.

", "TestIdentityProviderRequest$UserName": "

The name of the user account to be tested.

", - "UpdateUserRequest$UserName": "

A unique string that identifies a user and is associated with a file transfer protocol-enabled server as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, and at sign.

", - "UpdateUserResponse$UserName": "

The unique identifier for a user that is assigned to a file transfer protocol-enabled server instance that was specified in the request.

" + "UpdateUserRequest$UserName": "

A unique string that identifies a user and is associated with a server as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.

", + "UpdateUserResponse$UserName": "

The unique identifier for a user that is assigned to a server instance that was specified in the request.

" } }, "UserPassword": { @@ -720,13 +732,13 @@ "VpcEndpointId": { "base": null, "refs": { - "EndpointDetails$VpcEndpointId": "

The ID of the VPC endpoint.

This property can only be used when EndpointType is set to VPC_ENDPOINT.

" + "EndpointDetails$VpcEndpointId": "

The ID of the VPC endpoint.

This property can only be set when EndpointType is set to VPC_ENDPOINT.

" } }, "VpcId": { "base": null, "refs": { - "EndpointDetails$VpcId": "

The VPC ID of the VPC in which a file transfer protocol-enabled server's endpoint will be hosted.

This property can only be used when EndpointType is set to VPC.

" + "EndpointDetails$VpcId": "

The VPC ID of the VPC in which a server's endpoint will be hosted.

This property can only be set when EndpointType is set to VPC.

" } } } diff --git a/models/apis/workmail/2017-10-01/api-2.json b/models/apis/workmail/2017-10-01/api-2.json index 9945887d767..f5da95a316e 100644 --- a/models/apis/workmail/2017-10-01/api-2.json +++ b/models/apis/workmail/2017-10-01/api-2.json @@ -106,6 +106,23 @@ ], "idempotent":true }, + "CreateOrganization":{ + "name":"CreateOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateOrganizationRequest"}, + "output":{"shape":"CreateOrganizationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DirectoryInUseException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"LimitExceededException"}, + {"shape":"NameAvailabilityException"} + ], + "idempotent":true + }, "CreateResource":{ "name":"CreateResource", "http":{ @@ -212,6 +229,21 @@ ], "idempotent":true }, + "DeleteOrganization":{ + "name":"DeleteOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteOrganizationRequest"}, + "output":{"shape":"DeleteOrganizationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "idempotent":true + }, "DeleteResource":{ "name":"DeleteResource", "http":{ @@ -976,6 +1008,27 @@ "GroupId":{"shape":"WorkMailIdentifier"} } }, + "CreateOrganizationRequest":{ + "type":"structure", + "required":["Alias"], + "members":{ + "DirectoryId":{"shape":"DirectoryId"}, + "Alias":{"shape":"OrganizationName"}, + "ClientToken":{ + "shape":"IdempotencyClientToken", + "idempotencyToken":true + }, + "Domains":{"shape":"Domains"}, + "KmsKeyArn":{"shape":"KmsKeyArn"}, + "EnableInteroperability":{"shape":"Boolean"} + } + }, + "CreateOrganizationResponse":{ + "type":"structure", + "members":{ + "OrganizationId":{"shape":"OrganizationId"} + } + }, "CreateResourceRequest":{ "type":"structure", "required":[ @@ -1095,6 +1148,28 @@ "members":{ } }, + "DeleteOrganizationRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "DeleteDirectory" + ], + "members":{ + "ClientToken":{ + "shape":"IdempotencyClientToken", + "idempotencyToken":true + }, + "OrganizationId":{"shape":"OrganizationId"}, + "DeleteDirectory":{"shape":"Boolean"} + } + }, + "DeleteOrganizationResponse":{ + "type":"structure", + "members":{ + "OrganizationId":{"shape":"OrganizationId"}, + "State":{"shape":"String"} + } + }, "DeleteResourceRequest":{ "type":"structure", "required":[ @@ -1284,6 +1359,19 @@ "min":0, "pattern":"[\\S\\s]*" }, + "DirectoryId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^d-[0-9a-f]{10}$" + }, + "DirectoryInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, "DirectoryServiceAuthenticationFailedException":{ "type":"structure", "members":{ @@ -1334,11 +1422,30 @@ "members":{ } }, + "Domain":{ + "type":"structure", + "members":{ + "DomainName":{"shape":"DomainName"}, + "HostedZoneId":{"shape":"HostedZoneId"} + } + }, + "DomainName":{ + "type":"string", + "max":255, + "min":3, + "pattern":"[a-zA-Z0-9.-]+\\.[a-zA-Z-]{2,}" + }, + "Domains":{ + "type":"list", + "member":{"shape":"Domain"}, + "max":5, + "min":0 + }, "EmailAddress":{ "type":"string", "max":254, "min":1, - "pattern":"[a-zA-Z0-9._%+-]{1,64}@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}" + "pattern":"[a-zA-Z0-9._%+-]{1,64}@[a-zA-Z0-9.-]+\\.[a-zA-Z-]{2,}" }, "EmailAddressInUseException":{ "type":"structure", @@ -1479,6 +1586,12 @@ "type":"list", "member":{"shape":"Group"} }, + "HostedZoneId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\S\\s]*" + }, "IdempotencyClientToken":{ "type":"string", "max":128, @@ -1821,17 +1934,20 @@ "NextToken":{ "type":"string", "max":1024, - "min":1 + "min":1, + "pattern":"[\\S\\s]*|[a-zA-Z0-9/+=]{1,1024}" }, "OrganizationId":{ "type":"string", + "max":34, + "min":34, "pattern":"^m-[0-9a-f]{32}$" }, "OrganizationName":{ "type":"string", "max":62, "min":1, - "pattern":"^(?!d-)([\\da-zA-Z]+)([-]*[\\da-zA-Z])*" + "pattern":"^(?!d-)([\\da-zA-Z]+)([-][\\da-zA-Z]+)*" }, "OrganizationNotFoundException":{ "type":"structure", @@ -1856,6 +1972,7 @@ "members":{ "OrganizationId":{"shape":"OrganizationId"}, "Alias":{"shape":"OrganizationName"}, + "DefaultMailDomain":{"shape":"DomainName"}, "ErrorMessage":{"shape":"String"}, "State":{"shape":"String"} } @@ -2033,13 +2150,15 @@ }, "ResourceId":{ "type":"string", + "max":34, + "min":34, "pattern":"^r-[0-9a-f]{32}$" }, "ResourceName":{ "type":"string", "max":20, "min":1, - "pattern":"[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9]{2,})?" + "pattern":"[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9-]{2,})?" }, "ResourceNotFoundException":{ "type":"structure", @@ -2288,7 +2407,7 @@ "type":"string", "max":64, "min":1, - "pattern":"[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9]{2,})?" + "pattern":"[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9-]{2,})?" }, "UserRole":{ "type":"string", diff --git a/models/apis/workmail/2017-10-01/docs-2.json b/models/apis/workmail/2017-10-01/docs-2.json index da17bd81e9a..bd0cae99341 100644 --- a/models/apis/workmail/2017-10-01/docs-2.json +++ b/models/apis/workmail/2017-10-01/docs-2.json @@ -7,12 +7,14 @@ "CancelMailboxExportJob": "

Cancels a mailbox export job.

If the mailbox export job is near completion, it might not be possible to cancel it.

", "CreateAlias": "

Adds an alias to the set of a given member (user or group) of Amazon WorkMail.

", "CreateGroup": "

Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", + "CreateOrganization": "

Creates a new Amazon WorkMail organization. Optionally, you can choose to associate an existing AWS Directory Service directory with your organization. If an AWS Directory Service directory ID is specified, the organization alias must match the directory alias. If you choose not to associate an existing directory with your organization, then we create a new Amazon WorkMail directory for you. For more information, see Adding an organization in the Amazon WorkMail Administrator Guide.

You can associate multiple email domains with an organization, then set your default email domain from the Amazon WorkMail console. You can also associate a domain that is managed in an Amazon Route 53 public hosted zone. For more information, see Adding a domain and Choosing the default domain in the Amazon WorkMail Administrator Guide.

Optionally, you can use a customer managed master key from AWS Key Management Service (AWS KMS) to encrypt email for your organization. If you don't associate an AWS KMS key, Amazon WorkMail creates a default AWS managed master key for you.

", "CreateResource": "

Creates a new Amazon WorkMail resource.

", "CreateUser": "

Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", "DeleteAccessControlRule": "

Deletes an access control rule for the specified WorkMail organization.

", "DeleteAlias": "

Remove one or more specified aliases from a set of aliases for a given user.

", "DeleteGroup": "

Deletes a group from Amazon WorkMail.

", "DeleteMailboxPermissions": "

Deletes permissions granted to a member (user or group).

", + "DeleteOrganization": "

Deletes an Amazon WorkMail organization and all underlying AWS resources managed by Amazon WorkMail as part of the organization. You can choose whether to delete the associated directory. For more information, see Removing an organization in the Amazon WorkMail Administrator Guide.

", "DeleteResource": "

Deletes the specified resource.

", "DeleteRetentionPolicy": "

Deletes the specified retention policy from the specified organization.

", "DeleteUser": "

Deletes a user from Amazon WorkMail and all subsequent systems. Before you can delete a user, the user state must be DISABLED. Use the DescribeUser action to confirm the user state.

Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for 30 days before they are permanently removed.

", @@ -156,7 +158,9 @@ "refs": { "BookingOptions$AutoAcceptRequests": "

The resource's ability to automatically reply to requests. If disabled, delegates must be associated to the resource.

", "BookingOptions$AutoDeclineRecurringRequests": "

The resource's ability to automatically decline any recurring requests.

", - "BookingOptions$AutoDeclineConflictingRequests": "

The resource's ability to automatically decline any conflicting requests.

" + "BookingOptions$AutoDeclineConflictingRequests": "

The resource's ability to automatically decline any conflicting requests.

", + "CreateOrganizationRequest$EnableInteroperability": "

When true, allows organization interoperability between Amazon WorkMail and Microsoft Exchange. Can only be set to true if an AD Connector directory ID is included in the request.

", + "DeleteOrganizationRequest$DeleteDirectory": "

If true, deletes the AWS Directory Service directory associated with the organization.

" } }, "CancelMailboxExportJobRequest": { @@ -189,6 +193,16 @@ "refs": { } }, + "CreateOrganizationRequest": { + "base": null, + "refs": { + } + }, + "CreateOrganizationResponse": { + "base": null, + "refs": { + } + }, "CreateResourceRequest": { "base": null, "refs": { @@ -255,6 +269,16 @@ "refs": { } }, + "DeleteOrganizationRequest": { + "base": null, + "refs": { + } + }, + "DeleteOrganizationResponse": { + "base": null, + "refs": { + } + }, "DeleteResourceRequest": { "base": null, "refs": { @@ -353,13 +377,24 @@ "StartMailboxExportJobRequest$Description": "

The mailbox export job description.

" } }, + "DirectoryId": { + "base": null, + "refs": { + "CreateOrganizationRequest$DirectoryId": "

The AWS Directory Service directory ID.

" + } + }, + "DirectoryInUseException": { + "base": "

The directory is already in use by another WorkMail organization in the same account and Region.

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

The directory service doesn't recognize the credentials supplied by WorkMail.

", "refs": { } }, "DirectoryUnavailableException": { - "base": "

The directory on which you are trying to perform operations isn't available.

", + "base": "

The directory is unavailable. It might be located in another Region or deleted.

", "refs": { } }, @@ -383,6 +418,25 @@ "refs": { } }, + "Domain": { + "base": "

The domain to associate with an Amazon WorkMail organization.

When you configure a domain hosted in Amazon Route 53 (Route 53), all recommended DNS records are added to the organization when you create it. For more information, see Adding a domain in the Amazon WorkMail Administrator Guide.

", + "refs": { + "Domains$member": null + } + }, + "DomainName": { + "base": null, + "refs": { + "Domain$DomainName": "

The fully qualified domain name.

", + "OrganizationSummary$DefaultMailDomain": "

The default email domain associated with the organization.

" + } + }, + "Domains": { + "base": null, + "refs": { + "CreateOrganizationRequest$Domains": "

The email domains to associate with the organization.

" + } + }, "EmailAddress": { "base": null, "refs": { @@ -500,10 +554,18 @@ "ListGroupsResponse$Groups": "

The overview of groups for an organization.

" } }, + "HostedZoneId": { + "base": null, + "refs": { + "Domain$HostedZoneId": "

The hosted zone ID for a domain hosted in Route 53. Required when configuring a domain hosted in Route 53.

" + } + }, "IdempotencyClientToken": { "base": null, "refs": { "CancelMailboxExportJobRequest$ClientToken": "

The idempotency token for the client request.

", + "CreateOrganizationRequest$ClientToken": "

The idempotency token associated with the request.

", + "DeleteOrganizationRequest$ClientToken": "

The idempotency token associated with the request.

", "StartMailboxExportJobRequest$ClientToken": "

The idempotency token for the client request.

" } }, @@ -552,6 +614,7 @@ "KmsKeyArn": { "base": null, "refs": { + "CreateOrganizationRequest$KmsKeyArn": "

The Amazon Resource Name (ARN) of a customer managed master key from AWS KMS.

", "DescribeMailboxExportJobResponse$KmsKeyArn": "

The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service (AWS KMS) key that encrypts the exported mailbox content.

", "StartMailboxExportJobRequest$KmsKeyArn": "

The Amazon Resource Name (ARN) of the symmetric AWS Key Management Service (AWS KMS) key that encrypts the exported mailbox content.

" } @@ -792,12 +855,15 @@ "CancelMailboxExportJobRequest$OrganizationId": "

The organization ID.

", "CreateAliasRequest$OrganizationId": "

The organization under which the member (user or group) exists.

", "CreateGroupRequest$OrganizationId": "

The organization under which the group is to be created.

", + "CreateOrganizationResponse$OrganizationId": "

The organization ID.

", "CreateResourceRequest$OrganizationId": "

The identifier associated with the organization for which the resource is created.

", "CreateUserRequest$OrganizationId": "

The identifier of the organization for which the user is created.

", "DeleteAccessControlRuleRequest$OrganizationId": "

The identifier for the organization.

", "DeleteAliasRequest$OrganizationId": "

The identifier for the organization under which the user exists.

", "DeleteGroupRequest$OrganizationId": "

The organization that contains the group.

", "DeleteMailboxPermissionsRequest$OrganizationId": "

The identifier of the organization under which the member (user or group) exists.

", + "DeleteOrganizationRequest$OrganizationId": "

The organization ID.

", + "DeleteOrganizationResponse$OrganizationId": "

The organization ID.

", "DeleteResourceRequest$OrganizationId": "

The identifier associated with the organization from which the resource is deleted.

", "DeleteRetentionPolicyRequest$OrganizationId": "

The organization ID.

", "DeleteUserRequest$OrganizationId": "

The organization that contains the user to be deleted.

", @@ -837,6 +903,7 @@ "OrganizationName": { "base": null, "refs": { + "CreateOrganizationRequest$Alias": "

The organization alias.

", "DescribeOrganizationResponse$Alias": "

The alias for an organization.

", "OrganizationSummary$Alias": "

The alias associated with the organization.

" } @@ -847,7 +914,7 @@ } }, "OrganizationStateException": { - "base": "

The organization must have a valid state (Active or Synchronizing) to perform certain operations on the organization or its members.

", + "base": "

The organization must have a valid state to perform certain operations on the organization or its members.

", "refs": { } }, @@ -1076,12 +1143,14 @@ "refs": { "CreateUserRequest$DisplayName": "

The display name for the new user.

", "Delegate$Id": "

The identifier for the user or group associated as the resource's delegate.

", + "DeleteOrganizationResponse$State": "

The state of the organization.

", "DescribeOrganizationResponse$State": "

The state of an organization.

", "DescribeOrganizationResponse$DirectoryId": "

The identifier for the directory associated with an Amazon WorkMail organization.

", "DescribeOrganizationResponse$DirectoryType": "

The type of directory associated with the WorkMail organization.

", "DescribeOrganizationResponse$DefaultMailDomain": "

The default mail domain associated with the organization.

", "DescribeOrganizationResponse$ErrorMessage": "

(Optional) The error message indicating if unexpected behavior was encountered with regards to the organization.

", "DescribeUserResponse$DisplayName": "

The display name of the user.

", + "DirectoryInUseException$Message": null, "DirectoryServiceAuthenticationFailedException$Message": null, "DirectoryUnavailableException$Message": null, "EmailAddressInUseException$Message": null, @@ -1274,7 +1343,7 @@ "CreateUserResponse$UserId": "

The identifier for the new user.

", "DeleteAliasRequest$EntityId": "

The identifier for the member (user or group) from which to have the aliases removed.

", "DeleteGroupRequest$GroupId": "

The identifier of the group to be deleted.

", - "DeleteMailboxPermissionsRequest$EntityId": "

The identifier of the member (user or group)that owns the mailbox.

", + "DeleteMailboxPermissionsRequest$EntityId": "

The identifier of the member (user or group) that owns the mailbox.

", "DeleteMailboxPermissionsRequest$GranteeId": "

The identifier of the member (user or group) for which to delete granted permissions.

", "DeleteUserRequest$UserId": "

The identifier of the user to be deleted.

", "DeregisterFromWorkMailRequest$EntityId": "

The identifier for the member (user or group) to be updated.

", diff --git a/models/apis/workspaces/2015-04-08/docs-2.json b/models/apis/workspaces/2015-04-08/docs-2.json index 8dd3bd6c848..88d26040408 100644 --- a/models/apis/workspaces/2015-04-08/docs-2.json +++ b/models/apis/workspaces/2015-04-08/docs-2.json @@ -5,7 +5,7 @@ "AssociateConnectionAlias": "

Associates the specified connection alias with the specified directory to enable cross-Region redirection. For more information, see Cross-Region Redirection for Amazon WorkSpaces.

Before performing this operation, call DescribeConnectionAliases to make sure that the current state of the connection alias is CREATED.

", "AssociateIpGroups": "

Associates the specified IP access control group with the specified directory.

", "AuthorizeIpRules": "

Adds one or more rules to the specified IP access control group.

This action gives users permission to access their WorkSpaces from the CIDR address ranges specified in the rules.

", - "CopyWorkspaceImage": "

Copies the specified image from the specified Region to the current Region.

", + "CopyWorkspaceImage": "

Copies the specified image from the specified Region to the current Region. For more information about copying images, see Copy a Custom WorkSpaces Image.

Before copying a shared image, be sure to verify that it has been shared from the correct AWS account. To determine if an image has been shared and to see the AWS account ID that owns an image, use the DescribeWorkSpaceImages and DescribeWorkspaceImagePermissions API operations.

", "CreateConnectionAlias": "

Creates the specified connection alias for use with cross-Region redirection. For more information, see Cross-Region Redirection for Amazon WorkSpaces.

", "CreateIpGroup": "

Creates an IP access control group.

An IP access control group provides you with the ability to control the IP addresses from which users are allowed to access their WorkSpaces. To specify the CIDR address ranges, add rules to your IP access control group and then associate the group with your directory. You can add rules when you create the group or at any time using AuthorizeIpRules.

There is a default IP access control group associated with your directory. If you don't associate an IP access control group with your directory, the default group is used. The default group includes a default rule that allows users to access their WorkSpaces from anywhere. You cannot modify the default IP access control group for your directory.

", "CreateTags": "

Creates the specified tags for the specified WorkSpaces resource.

", @@ -32,7 +32,7 @@ "DisassociateConnectionAlias": "

Disassociates a connection alias from a directory. Disassociating a connection alias disables cross-Region redirection between two directories in different AWS Regions. For more information, see Cross-Region Redirection for Amazon WorkSpaces.

Before performing this operation, call DescribeConnectionAliases to make sure that the current state of the connection alias is CREATED.

", "DisassociateIpGroups": "

Disassociates the specified IP access control group from the specified directory.

", "ImportWorkspaceImage": "

Imports the specified Windows 10 Bring Your Own License (BYOL) image into Amazon WorkSpaces. The image must be an already licensed Amazon EC2 image that is in your AWS account, and you must own the image. For more information about creating BYOL images, see Bring Your Own Windows Desktop Licenses.

", - "ListAvailableManagementCidrRanges": "

Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that you can use for the network management interface when you enable Bring Your Own License (BYOL).

The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace.

", + "ListAvailableManagementCidrRanges": "

Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that you can use for the network management interface when you enable Bring Your Own License (BYOL).

This operation can be run only by AWS accounts that are enabled for BYOL. If your account isn't enabled for BYOL, you'll receive an AccessDeniedException error.

The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace.

", "MigrateWorkspace": "

Migrates a WorkSpace from one operating system or bundle type to another, while retaining the data on the user volume.

The migration process recreates the WorkSpace by using a new root volume from the target bundle image and the user volume from the last available snapshot of the original WorkSpace. During migration, the original D:\\Users\\%USERNAME% user profile folder is renamed to D:\\Users\\%USERNAME%MMddyyTHHmmss%.NotMigrated. A new D:\\Users\\%USERNAME%\\ folder is generated by the new OS. Certain files in the old user profile are moved to the new user profile.

For available migration scenarios, details about what happens during migration, and best practices, see Migrate a WorkSpace.

", "ModifyAccount": "

Modifies the configuration of Bring Your Own License (BYOL) for the specified account.

", "ModifyClientProperties": "

Modifies the properties of the specified Amazon WorkSpaces clients.

", @@ -48,10 +48,10 @@ "RevokeIpRules": "

Removes one or more rules from the specified IP access control group.

", "StartWorkspaces": "

Starts the specified WorkSpaces.

You cannot start a WorkSpace unless it has a running mode of AutoStop and a state of STOPPED.

", "StopWorkspaces": "

Stops the specified WorkSpaces.

You cannot stop a WorkSpace unless it has a running mode of AutoStop and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

", - "TerminateWorkspaces": "

Terminates the specified WorkSpaces.

Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is destroyed. If you need to archive any user data, contact Amazon Web Services before terminating the WorkSpace.

You can terminate a WorkSpace that is in any state except SUSPENDED.

This operation is asynchronous and returns before the WorkSpaces have been completely terminated.

", + "TerminateWorkspaces": "

Terminates the specified WorkSpaces.

Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is destroyed. If you need to archive any user data, contact AWS Support before terminating the WorkSpace.

You can terminate a WorkSpace that is in any state except SUSPENDED.

This operation is asynchronous and returns before the WorkSpaces have been completely terminated. After a WorkSpace is terminated, the TERMINATED state is returned only briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using DescribeWorkSpaces. If the WorkSpace ID isn't returned, then the WorkSpace has been successfully terminated.

", "UpdateConnectionAliasPermission": "

Shares or unshares a connection alias with one account by specifying whether that account has permission to associate the connection alias with a directory. If the association permission is granted, the connection alias is shared with that account. If the association permission is revoked, the connection alias is unshared with the account. For more information, see Cross-Region Redirection for Amazon WorkSpaces.

", "UpdateRulesOfIpGroup": "

Replaces the current rules of the specified IP access control group with the specified rules.

", - "UpdateWorkspaceImagePermission": "

Shares or unshares an image with one account by specifying whether that account has permission to copy the image. If the copy image permission is granted, the image is shared with that account. If the copy image permission is revoked, the image is unshared with the account.

" + "UpdateWorkspaceImagePermission": "

Shares or unshares an image with one account by specifying whether that account has permission to copy the image. If the copy image permission is granted, the image is shared with that account. If the copy image permission is revoked, the image is unshared with the account. For more information about sharing images, see Share or Unshare a Custom WorkSpaces Image.

" }, "shapes": { "ARN": { @@ -150,7 +150,7 @@ "ConnectionAliasAssociation$AssociatedAccountId": "

The identifier of the AWS account that associated the connection alias with a directory.

", "ConnectionAliasPermission$SharedAccountId": "

The identifier of the AWS account that the connection alias is shared with.

", "ImagePermission$SharedAccountId": "

The identifier of the AWS account that an image has been shared with.

", - "UpdateWorkspaceImagePermissionRequest$SharedAccountId": "

The identifier of the AWS account to share or unshare the image with.

", + "UpdateWorkspaceImagePermissionRequest$SharedAccountId": "

The identifier of the AWS account to share or unshare the image with.

Before sharing the image, confirm that you are sharing to the correct AWS account ID.

", "WorkspaceImage$OwnerAccountId": "

The identifier of the AWS account that owns the image.

" } }, @@ -770,7 +770,7 @@ } }, "ImagePermission": { - "base": "

Describes the AWS accounts that have been granted permission to use a shared image.

", + "base": "

Describes the AWS accounts that have been granted permission to use a shared image. For more information about sharing images, see Share or Unshare a Custom WorkSpaces Image.

", "refs": { "ImagePermissions$member": null } @@ -1357,7 +1357,7 @@ "CopyWorkspaceImageRequest$Tags": "

The tags for the image.

", "CreateConnectionAliasRequest$Tags": "

The tags to associate with the connection alias.

", "CreateIpGroupRequest$Tags": "

The tags. Each WorkSpaces resource can have a maximum of 50 tags.

", - "CreateTagsRequest$Tags": "

The tags. Each WorkSpaces resource can have a maximum of 50 tags. If you want to add new tags to a set of existing tags, you must submit all of the existing tags along with the new ones.

", + "CreateTagsRequest$Tags": "

The tags. Each WorkSpaces resource can have a maximum of 50 tags.

", "DescribeTagsResult$TagList": "

The tags.

", "ImportWorkspaceImageRequest$Tags": "

The tags. Each WorkSpaces resource can have a maximum of 50 tags.

", "RegisterWorkspaceDirectoryRequest$Tags": "

The tags associated with the directory.

", @@ -1530,7 +1530,7 @@ "WorkspaceDirectoryState": { "base": null, "refs": { - "WorkspaceDirectory$State": "

The state of the directory's registration with Amazon WorkSpaces.

" + "WorkspaceDirectory$State": "

The state of the directory's registration with Amazon WorkSpaces. After a directory is deregistered, the DEREGISTERED state is returned very briefly before the directory metadata is cleaned up, so this state is rarely returned. To confirm that a directory is deregistered, check for the directory ID by using DescribeWorkspaceDirectories. If the directory ID isn't returned, then the directory has been successfully deregistered.

" } }, "WorkspaceDirectoryType": { @@ -1678,7 +1678,7 @@ "WorkspaceState": { "base": null, "refs": { - "Workspace$State": "

The operational state of the WorkSpace.

" + "Workspace$State": "

The operational state of the WorkSpace.

After a WorkSpace is terminated, the TERMINATED state is returned only briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using DescribeWorkSpaces. If the WorkSpace ID isn't returned, then the WorkSpace has been successfully terminated.

" } }, "WorkspacesDefaultRoleNotFoundException": { diff --git a/models/apis/xray/2016-04-12/api-2.json b/models/apis/xray/2016-04-12/api-2.json index 7efeb1371ed..b4c4fe15ecb 100644 --- a/models/apis/xray/2016-04-12/api-2.json +++ b/models/apis/xray/2016-04-12/api-2.json @@ -864,7 +864,8 @@ "InsightsConfiguration":{ "type":"structure", "members":{ - "InsightsEnabled":{"shape":"NullableBoolean"} + "InsightsEnabled":{"shape":"NullableBoolean"}, + "NotificationsEnabled":{"shape":"NullableBoolean"} } }, "InstanceIdDetail":{ @@ -1345,6 +1346,7 @@ "members":{ "Id":{"shape":"TraceId"}, "Duration":{"shape":"NullableDouble"}, + "LimitExceeded":{"shape":"NullableBoolean"}, "Segments":{"shape":"SegmentList"} } }, diff --git a/models/apis/xray/2016-04-12/docs-2.json b/models/apis/xray/2016-04-12/docs-2.json index 9fa60898391..4672b2aecfa 100644 --- a/models/apis/xray/2016-04-12/docs-2.json +++ b/models/apis/xray/2016-04-12/docs-2.json @@ -20,7 +20,7 @@ "ListTagsForResource": "

Returns a list of tags that are applied to the specified AWS X-Ray group or sampling rule.

", "PutEncryptionConfig": "

Updates the encryption configuration for X-Ray data.

", "PutTelemetryRecords": "

Used by the AWS X-Ray daemon to upload telemetry.

", - "PutTraceSegments": "

Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments.

Segments must include the following fields. For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide.

Required Segment Document Fields

A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes:

Trace ID Format

", + "PutTraceSegments": "

Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments.

Segments must include the following fields. For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide.

Required segment document fields

A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes:

Trace ID Format

", "TagResource": "

Applies tags to an existing AWS X-Ray group or sampling rule.

", "UntagResource": "

Removes tags from an AWS X-Ray group or sampling rule. You cannot edit or delete system tags (those with an aws: prefix).

", "UpdateGroup": "

Updates a group resource.

", @@ -62,7 +62,7 @@ } }, "AnnotationValue": { - "base": "

Value of a segment annotation. Has one of three value types: Number, Boolean or String.

", + "base": "

Value of a segment annotation. Has one of three value types: Number, Boolean, or String.

", "refs": { "ValueWithServiceIds$AnnotationValue": "

Values of the annotation.

" } @@ -93,7 +93,7 @@ } }, "AvailabilityZoneDetail": { - "base": "

A list of availability zones corresponding to the segments in a trace.

", + "base": "

A list of Availability Zones corresponding to the segments in a trace.

", "refs": { "TraceAvailabilityZones$member": null } @@ -118,7 +118,7 @@ "base": null, "refs": { "GetServiceGraphResult$ContainsOldGroupVersions": "

A flag indicating whether the group's filter expression has been consistent, or if the returned service graph may show traces from an older version of the group's filter expression.

", - "GetTimeSeriesServiceStatisticsResult$ContainsOldGroupVersions": "

A flag indicating whether or not a group's filter expression has been consistent, or if a returned aggregation may show statistics from an older version of the group's filter expression.

" + "GetTimeSeriesServiceStatisticsResult$ContainsOldGroupVersions": "

A flag indicating whether or not a group's filter expression has been consistent, or if a returned aggregation might show statistics from an older version of the group's filter expression.

" } }, "BorrowCount": { @@ -323,7 +323,7 @@ "FaultRootCauses": { "base": null, "refs": { - "TraceSummary$FaultRootCauses": "

A collection of FaultRootCause structures corresponding to the the trace segments.

" + "TraceSummary$FaultRootCauses": "

A collection of FaultRootCause structures corresponding to the trace segments.

" } }, "FaultStatistics": { @@ -456,8 +456,8 @@ "Group": { "base": "

Details and metadata for a group.

", "refs": { - "CreateGroupResult$Group": "

The group that was created. Contains the name of the group that was created, the ARN of the group that was generated based on the group name, the filter expression, and the insight configuration that was assigned to the group.

", - "GetGroupResult$Group": "

The group that was requested. Contains the name of the group, the ARN of the group, and the filter expression that assigned to the group.

", + "CreateGroupResult$Group": "

The group that was created. Contains the name of the group that was created, the Amazon Resource Name (ARN) of the group that was generated based on the group name, the filter expression, and the insight configuration that was assigned to the group.

", + "GetGroupResult$Group": "

The group that was requested. Contains the name of the group, the ARN of the group, the filter expression, and the insight configuration assigned to the group.

", "UpdateGroupResult$Group": "

The group that was updated. Contains the name of the group that was updated, the ARN of the group that was updated, the updated filter expression, and the updated insight configuration assigned to the group.

" } }, @@ -466,8 +466,8 @@ "refs": { "DeleteGroupRequest$GroupARN": "

The ARN of the group that was generated on creation.

", "GetGroupRequest$GroupARN": "

The ARN of the group that was generated on creation.

", - "GetServiceGraphRequest$GroupARN": "

The ARN of a group to generate a graph based on.

", - "GetTimeSeriesServiceStatisticsRequest$GroupARN": "

The ARN of the group for which to pull statistics from.

", + "GetServiceGraphRequest$GroupARN": "

The Amazon Resource Name (ARN) of a group based on which you want to generate a graph.

", + "GetTimeSeriesServiceStatisticsRequest$GroupARN": "

The Amazon Resource Name (ARN) of the group for which to pull statistics from.

", "UpdateGroupRequest$GroupARN": "

The ARN that was generated upon creation.

" } }, @@ -477,7 +477,7 @@ "CreateGroupRequest$GroupName": "

The case-sensitive name of the new group. Default is a reserved name and names must be unique.

", "DeleteGroupRequest$GroupName": "

The case-sensitive name of the group.

", "GetGroupRequest$GroupName": "

The case-sensitive name of the group.

", - "GetServiceGraphRequest$GroupName": "

The name of a group to generate a graph based on.

", + "GetServiceGraphRequest$GroupName": "

The name of a group based on which you want to generate a graph.

", "GetTimeSeriesServiceStatisticsRequest$GroupName": "

The case-sensitive name of the group for which to pull statistics from.

", "UpdateGroupRequest$GroupName": "

The case-sensitive name of the group.

" } @@ -538,10 +538,10 @@ "InsightsConfiguration": { "base": "

The structure containing configurations related to insights.

", "refs": { - "CreateGroupRequest$InsightsConfiguration": "

The structure containing configurations related to insights. The InsightsEnabled boolean can be set to true to enable insights for the new group or false to disable insights for the new group.

", - "Group$InsightsConfiguration": "

The structure containing configurations related to insights. The InsightsEnabled boolean can be set to true to enable insights for the group or false to disable insights for the group.

", - "GroupSummary$InsightsConfiguration": "

The structure containing configurations related to insights. The InsightsEnabled boolean can be set to true to enable insights for the groups or false to disable insights for the groups.

", - "UpdateGroupRequest$InsightsConfiguration": "

The structure containing configurations related to insights. The InsightsEnabled boolean can be set to true to enable insights for the group or false to disable insights for the group.

" + "CreateGroupRequest$InsightsConfiguration": "

The structure containing configurations related to insights.

", + "Group$InsightsConfiguration": "

The structure containing configurations related to insights.

", + "GroupSummary$InsightsConfiguration": "

The structure containing configurations related to insights.

", + "UpdateGroupRequest$InsightsConfiguration": "

The structure containing configurations related to insights.

" } }, "InstanceIdDetail": { @@ -587,10 +587,12 @@ "FaultRootCauseService$Inferred": "

A Boolean value indicating if the service is inferred from the trace.

", "GetTraceSummariesRequest$Sampling": "

Set to true to get summaries for only a subset of available traces.

", "InsightsConfiguration$InsightsEnabled": "

Set the InsightsEnabled value to true to enable insights or false to disable insights.

", + "InsightsConfiguration$NotificationsEnabled": "

Set the NotificationsEnabled value to true to enable insights notifications. Notifications can only be enabled on a group with InsightsEnabled set to true.

", "ResponseTimeRootCause$ClientImpacting": "

A flag that denotes that the root cause impacts the trace client.

", "ResponseTimeRootCauseEntity$Remote": "

A flag that denotes a remote subsegment.

", "ResponseTimeRootCauseService$Inferred": "

A Boolean value indicating if the service is inferred from the trace.

", "Service$Root": "

Indicates that the service was the first service to process a request.

", + "Trace$LimitExceeded": "

LimitExceeded is set to true when the trace has exceeded one of the defined quotas. For more information about quotas, see AWS X-Ray endpoints and quotas.

", "TraceSummary$HasFault": "

The root segment document has a 500 series error.

", "TraceSummary$HasError": "

The root segment document has a 400 series error.

", "TraceSummary$HasThrottle": "

One or more of the segment documents has a 429 throttling error.

", @@ -602,7 +604,7 @@ "refs": { "AnnotationValue$NumberValue": "

Value for a Number annotation.

", "EdgeStatistics$TotalResponseTime": "

The aggregate response time of completed requests.

", - "ResponseTimeRootCauseEntity$Coverage": "

The types and messages of the exceptions.

", + "ResponseTimeRootCauseEntity$Coverage": "

The type and messages of the exceptions.

", "SamplingRuleUpdate$FixedRate": "

The percentage of matching requests to instrument, after the reservoir is exhausted.

", "SamplingStrategy$Value": "

The value of a sampling rule.

", "ServiceStatistics$TotalResponseTime": "

The aggregate response time of completed requests.

", @@ -625,7 +627,7 @@ "Http$HttpStatus": "

The response status.

", "SamplingRuleUpdate$Priority": "

The priority of the sampling rule.

", "SamplingRuleUpdate$ReservoirSize": "

A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

", - "SamplingTargetDocument$ReservoirQuota": "

The number of requests per second that X-Ray allocated this service.

", + "SamplingTargetDocument$ReservoirQuota": "

The number of requests per second that X-Ray allocated for this service.

", "SamplingTargetDocument$Interval": "

The number of seconds for the service to wait before getting sampling targets again.

", "Service$ReferenceId": "

Identifier for the service. Unique within the service map.

", "TelemetryRecord$SegmentsReceivedCount": "

", @@ -712,7 +714,7 @@ } }, "ResourceNotFoundException": { - "base": "

The resource was not found. Verify that the name or ARN of the resource is correct.

", + "base": "

The resource was not found. Verify that the name or Amazon Resource Name (ARN) of the resource is correct.

", "refs": { } }, @@ -813,7 +815,7 @@ } }, "SamplingStatisticSummary": { - "base": "

Aggregated request sampling data for a sampling rule across all services for a 10 second window.

", + "base": "

Aggregated request sampling data for a sampling rule across all services for a 10-second window.

", "refs": { "SamplingStatisticSummaryList$member": null } @@ -839,7 +841,7 @@ "SamplingStrategy": { "base": "

The name and value of a sampling rule to apply to a trace summary.

", "refs": { - "GetTraceSummariesRequest$SamplingStrategy": "

A paramater to indicate whether to enable sampling on trace summaries. Input parameters are Name and Value.

" + "GetTraceSummariesRequest$SamplingStrategy": "

A parameter to indicate whether to enable sampling on trace summaries. Input parameters are Name and Value.

" } }, "SamplingStrategyName": { @@ -885,7 +887,7 @@ } }, "Service": { - "base": "

Information about an application that processed requests, users that made requests, or downstream services, resources and applications that an application used.

", + "base": "

Information about an application that processed requests, users that made requests, or downstream services, resources, and applications that an application used.

", "refs": { "ServiceList$member": null } @@ -950,7 +952,7 @@ "Alias$Type": "

The type of the alias.

", "AliasNames$member": null, "AnnotationValue$StringValue": "

Value for a String annotation.

", - "AvailabilityZoneDetail$Name": "

The name of a corresponding availability zone.

", + "AvailabilityZoneDetail$Name": "

The name of a corresponding Availability Zone.

", "BatchGetTracesRequest$NextToken": "

Pagination token.

", "BatchGetTracesResult$NextToken": "

Pagination token.

", "DeleteSamplingRuleRequest$RuleName": "

The name of the sampling rule. Specify a rule by either name or ARN, but not both.

", @@ -976,9 +978,9 @@ "GetTraceGraphRequest$NextToken": "

Pagination token.

", "GetTraceGraphResult$NextToken": "

Pagination token.

", "GetTraceSummariesRequest$NextToken": "

Specify the pagination token returned by a previous request to retrieve the next page of results.

", - "GetTraceSummariesResult$NextToken": "

If the requested time frame contained more than one page of results, you can use this token to retrieve the next page. The first page contains the most most recent results, closest to the end of the time frame.

", + "GetTraceSummariesResult$NextToken": "

If the requested time frame contained more than one page of results, you can use this token to retrieve the next page. The first page contains the most recent results, closest to the end of the time frame.

", "Group$GroupName": "

The unique case-sensitive name of the group.

", - "Group$GroupARN": "

The ARN of the group generated based on the GroupName.

", + "Group$GroupARN": "

The Amazon Resource Name (ARN) of the group generated based on the GroupName.

", "Group$FilterExpression": "

The filter expression defining the parameters to include traces.

", "GroupSummary$GroupName": "

The unique case-sensitive name of the group.

", "GroupSummary$GroupARN": "

The ARN of the group generated based on the GroupName.

", @@ -1003,7 +1005,7 @@ "SamplingTargetDocument$RuleName": "

The name of the sampling rule.

", "Service$Name": "

The canonical name of the service.

", "Service$AccountId": "

Identifier of the AWS account in which the service runs.

", - "Service$Type": "

The type of service.

", + "Service$Type": "

The type of service.

", "Service$State": "

The service's state.

", "ServiceId$Name": "

", "ServiceId$AccountId": "

", @@ -1138,7 +1140,7 @@ "TraceAvailabilityZones": { "base": null, "refs": { - "TraceSummary$AvailabilityZones": "

A list of availability zones for any zone corresponding to the trace segments.

" + "TraceSummary$AvailabilityZones": "

A list of Availability Zones for any zone corresponding to the trace segments.

" } }, "TraceId": { diff --git a/models/apis/xray/2016-04-12/paginators-1.json b/models/apis/xray/2016-04-12/paginators-1.json index 0b4d3d86af9..300279e7524 100644 --- a/models/apis/xray/2016-04-12/paginators-1.json +++ b/models/apis/xray/2016-04-12/paginators-1.json @@ -2,9 +2,6 @@ "pagination": { "BatchGetTraces": { "input_token": "NextToken", - "non_aggregate_keys": [ - "UnprocessedTraceIds" - ], "output_token": "NextToken", "result_key": "Traces" }, @@ -25,19 +22,11 @@ }, "GetServiceGraph": { "input_token": "NextToken", - "non_aggregate_keys": [ - "StartTime", - "EndTime", - "ContainsOldGroupVersions" - ], "output_token": "NextToken", "result_key": "Services" }, "GetTimeSeriesServiceStatistics": { "input_token": "NextToken", - "non_aggregate_keys": [ - "ContainsOldGroupVersions" - ], "output_token": "NextToken", "result_key": "TimeSeriesServiceStatistics" }, @@ -48,10 +37,6 @@ }, "GetTraceSummaries": { "input_token": "NextToken", - "non_aggregate_keys": [ - "TracesProcessedCount", - "ApproximateTime" - ], "output_token": "NextToken", "result_key": "TraceSummaries" } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 490046774f6..f0fc08e006a 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -6998,6 +6998,12 @@ } } }, + "servicediscovery" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "sms" : { "endpoints" : { "cn-north-1" : { }, diff --git a/service/accessanalyzer/accessanalyzeriface/interface.go b/service/accessanalyzer/accessanalyzeriface/interface.go index 84ffdd3b4d9..31c8582c4ac 100644 --- a/service/accessanalyzer/accessanalyzeriface/interface.go +++ b/service/accessanalyzer/accessanalyzeriface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Access Analyzer. // func myFunc(svc accessanalyzeriface.AccessAnalyzerAPI) bool { -// // Make svc.CreateAnalyzer request +// // Make svc.ApplyArchiveRule request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockAccessAnalyzerClient struct { // accessanalyzeriface.AccessAnalyzerAPI // } -// func (m *mockAccessAnalyzerClient) CreateAnalyzer(input *accessanalyzer.CreateAnalyzerInput) (*accessanalyzer.CreateAnalyzerOutput, error) { +// func (m *mockAccessAnalyzerClient) ApplyArchiveRule(input *accessanalyzer.ApplyArchiveRuleInput) (*accessanalyzer.ApplyArchiveRuleOutput, 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 AccessAnalyzerAPI interface { + ApplyArchiveRule(*accessanalyzer.ApplyArchiveRuleInput) (*accessanalyzer.ApplyArchiveRuleOutput, error) + ApplyArchiveRuleWithContext(aws.Context, *accessanalyzer.ApplyArchiveRuleInput, ...request.Option) (*accessanalyzer.ApplyArchiveRuleOutput, error) + ApplyArchiveRuleRequest(*accessanalyzer.ApplyArchiveRuleInput) (*request.Request, *accessanalyzer.ApplyArchiveRuleOutput) + CreateAnalyzer(*accessanalyzer.CreateAnalyzerInput) (*accessanalyzer.CreateAnalyzerOutput, error) CreateAnalyzerWithContext(aws.Context, *accessanalyzer.CreateAnalyzerInput, ...request.Option) (*accessanalyzer.CreateAnalyzerOutput, error) CreateAnalyzerRequest(*accessanalyzer.CreateAnalyzerInput) (*request.Request, *accessanalyzer.CreateAnalyzerOutput) diff --git a/service/accessanalyzer/api.go b/service/accessanalyzer/api.go index 8ae4e0cfebd..e78b6fcfcff 100644 --- a/service/accessanalyzer/api.go +++ b/service/accessanalyzer/api.go @@ -13,6 +13,99 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opApplyArchiveRule = "ApplyArchiveRule" + +// ApplyArchiveRuleRequest generates a "aws/request.Request" representing the +// client's request for the ApplyArchiveRule 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 ApplyArchiveRule for more information on using the ApplyArchiveRule +// 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 ApplyArchiveRuleRequest method. +// req, resp := client.ApplyArchiveRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ApplyArchiveRule +func (c *AccessAnalyzer) ApplyArchiveRuleRequest(input *ApplyArchiveRuleInput) (req *request.Request, output *ApplyArchiveRuleOutput) { + op := &request.Operation{ + Name: opApplyArchiveRule, + HTTPMethod: "PUT", + HTTPPath: "/archive-rule", + } + + if input == nil { + input = &ApplyArchiveRuleInput{} + } + + output = &ApplyArchiveRuleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// ApplyArchiveRule API operation for Access Analyzer. +// +// Retroactively applies the archive rule to existing findings that meet the +// archive rule criteria. +// +// 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 Access Analyzer's +// API operation ApplyArchiveRule for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource could not be found. +// +// * ValidationException +// Validation exception error. +// +// * InternalServerException +// Internal server error. +// +// * ThrottlingException +// Throttling limit exceeded error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ApplyArchiveRule +func (c *AccessAnalyzer) ApplyArchiveRule(input *ApplyArchiveRuleInput) (*ApplyArchiveRuleOutput, error) { + req, out := c.ApplyArchiveRuleRequest(input) + return out, req.Send() +} + +// ApplyArchiveRuleWithContext is the same as ApplyArchiveRule with the addition of +// the ability to pass a context and additional request options. +// +// See ApplyArchiveRule 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 *AccessAnalyzer) ApplyArchiveRuleWithContext(ctx aws.Context, input *ApplyArchiveRuleInput, opts ...request.Option) (*ApplyArchiveRuleOutput, error) { + req, out := c.ApplyArchiveRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateAnalyzer = "CreateAnalyzer" // CreateAnalyzerRequest generates a "aws/request.Request" representing the @@ -153,7 +246,8 @@ func (c *AccessAnalyzer) CreateArchiveRuleRequest(input *CreateArchiveRuleInput) // CreateArchiveRule API operation for Access Analyzer. // // Creates an archive rule for the specified analyzer. Archive rules automatically -// archive findings that meet the criteria you define when you create the rule. +// archive new findings that meet the criteria you define when you create the +// rule. // // 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 @@ -2249,6 +2343,85 @@ func (s *AnalyzerSummary) SetType(v string) *AnalyzerSummary { return s } +// Retroactively applies an archive rule. +type ApplyArchiveRuleInput struct { + _ struct{} `type:"structure"` + + // The Amazon resource name (ARN) of the analyzer. + // + // AnalyzerArn is a required field + AnalyzerArn *string `locationName:"analyzerArn" type:"string" required:"true"` + + // A client token. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The name of the rule to apply. + // + // RuleName is a required field + RuleName *string `locationName:"ruleName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ApplyArchiveRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplyArchiveRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApplyArchiveRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApplyArchiveRuleInput"} + if s.AnalyzerArn == nil { + invalidParams.Add(request.NewErrParamRequired("AnalyzerArn")) + } + if s.RuleName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleName")) + } + if s.RuleName != nil && len(*s.RuleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalyzerArn sets the AnalyzerArn field's value. +func (s *ApplyArchiveRuleInput) SetAnalyzerArn(v string) *ApplyArchiveRuleInput { + s.AnalyzerArn = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *ApplyArchiveRuleInput) SetClientToken(v string) *ApplyArchiveRuleInput { + s.ClientToken = &v + return s +} + +// SetRuleName sets the RuleName field's value. +func (s *ApplyArchiveRuleInput) SetRuleName(v string) *ApplyArchiveRuleInput { + s.RuleName = &v + return s +} + +type ApplyArchiveRuleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ApplyArchiveRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApplyArchiveRuleOutput) GoString() string { + return s.String() +} + // Contains information about an archive rule. type ArchiveRuleSummary struct { _ struct{} `type:"structure"` @@ -4889,12 +5062,12 @@ func AnalyzerStatus_Values() []string { } const ( - // FindingSourceTypeBucketAcl is a FindingSourceType enum value - FindingSourceTypeBucketAcl = "BUCKET_ACL" - // FindingSourceTypePolicy is a FindingSourceType enum value FindingSourceTypePolicy = "POLICY" + // FindingSourceTypeBucketAcl is a FindingSourceType enum value + FindingSourceTypeBucketAcl = "BUCKET_ACL" + // FindingSourceTypeS3AccessPoint is a FindingSourceType enum value FindingSourceTypeS3AccessPoint = "S3_ACCESS_POINT" ) @@ -4902,8 +5075,8 @@ const ( // FindingSourceType_Values returns all elements of the FindingSourceType enum func FindingSourceType_Values() []string { return []string{ - FindingSourceTypeBucketAcl, FindingSourceTypePolicy, + FindingSourceTypeBucketAcl, FindingSourceTypeS3AccessPoint, } } @@ -4985,11 +5158,14 @@ func ReasonCode_Values() []string { } const ( + // ResourceTypeAwsS3Bucket is a ResourceType enum value + ResourceTypeAwsS3Bucket = "AWS::S3::Bucket" + // ResourceTypeAwsIamRole is a ResourceType enum value ResourceTypeAwsIamRole = "AWS::IAM::Role" - // ResourceTypeAwsKmsKey is a ResourceType enum value - ResourceTypeAwsKmsKey = "AWS::KMS::Key" + // ResourceTypeAwsSqsQueue is a ResourceType enum value + ResourceTypeAwsSqsQueue = "AWS::SQS::Queue" // ResourceTypeAwsLambdaFunction is a ResourceType enum value ResourceTypeAwsLambdaFunction = "AWS::Lambda::Function" @@ -4997,22 +5173,19 @@ const ( // ResourceTypeAwsLambdaLayerVersion is a ResourceType enum value ResourceTypeAwsLambdaLayerVersion = "AWS::Lambda::LayerVersion" - // ResourceTypeAwsS3Bucket is a ResourceType enum value - ResourceTypeAwsS3Bucket = "AWS::S3::Bucket" - - // ResourceTypeAwsSqsQueue is a ResourceType enum value - ResourceTypeAwsSqsQueue = "AWS::SQS::Queue" + // ResourceTypeAwsKmsKey is a ResourceType enum value + ResourceTypeAwsKmsKey = "AWS::KMS::Key" ) // ResourceType_Values returns all elements of the ResourceType enum func ResourceType_Values() []string { return []string{ + ResourceTypeAwsS3Bucket, ResourceTypeAwsIamRole, - ResourceTypeAwsKmsKey, + ResourceTypeAwsSqsQueue, ResourceTypeAwsLambdaFunction, ResourceTypeAwsLambdaLayerVersion, - ResourceTypeAwsS3Bucket, - ResourceTypeAwsSqsQueue, + ResourceTypeAwsKmsKey, } } @@ -5033,6 +5206,9 @@ func Type_Values() []string { } const ( + // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value + ValidationExceptionReasonUnknownOperation = "unknownOperation" + // ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value ValidationExceptionReasonCannotParse = "cannotParse" @@ -5041,17 +5217,14 @@ const ( // ValidationExceptionReasonOther is a ValidationExceptionReason enum value ValidationExceptionReasonOther = "other" - - // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value - ValidationExceptionReasonUnknownOperation = "unknownOperation" ) // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum func ValidationExceptionReason_Values() []string { return []string{ + ValidationExceptionReasonUnknownOperation, ValidationExceptionReasonCannotParse, ValidationExceptionReasonFieldValidationFailed, ValidationExceptionReasonOther, - ValidationExceptionReasonUnknownOperation, } } diff --git a/service/budgets/api.go b/service/budgets/api.go index 712a91fd578..878b6c88095 100644 --- a/service/budgets/api.go +++ b/service/budgets/api.go @@ -109,6 +109,99 @@ func (c *Budgets) CreateBudgetWithContext(ctx aws.Context, input *CreateBudgetIn return out, req.Send() } +const opCreateBudgetAction = "CreateBudgetAction" + +// CreateBudgetActionRequest generates a "aws/request.Request" representing the +// client's request for the CreateBudgetAction 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 CreateBudgetAction for more information on using the CreateBudgetAction +// 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 CreateBudgetActionRequest method. +// req, resp := client.CreateBudgetActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *Budgets) CreateBudgetActionRequest(input *CreateBudgetActionInput) (req *request.Request, output *CreateBudgetActionOutput) { + op := &request.Operation{ + Name: opCreateBudgetAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateBudgetActionInput{} + } + + output = &CreateBudgetActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBudgetAction API operation for AWS Budgets. +// +// Creates a budget action. +// +// 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 Budgets's +// API operation CreateBudgetAction for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// An error on the client occurred. Typically, the cause is an invalid input +// value. +// +// * InternalErrorException +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * CreationLimitExceededException +// You've exceeded the notification or subscriber limit. +// +// * DuplicateRecordException +// The budget name already exists. Budget names must be unique within an account. +// +// * NotFoundException +// We can’t locate the resource that you specified. +// +// * AccessDeniedException +// You are not authorized to use this operation with the given parameters. +// +func (c *Budgets) CreateBudgetAction(input *CreateBudgetActionInput) (*CreateBudgetActionOutput, error) { + req, out := c.CreateBudgetActionRequest(input) + return out, req.Send() +} + +// CreateBudgetActionWithContext is the same as CreateBudgetAction with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBudgetAction 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 *Budgets) CreateBudgetActionWithContext(ctx aws.Context, input *CreateBudgetActionInput, opts ...request.Option) (*CreateBudgetActionOutput, error) { + req, out := c.CreateBudgetActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateNotification = "CreateNotification" // CreateNotificationRequest generates a "aws/request.Request" representing the @@ -390,6 +483,97 @@ func (c *Budgets) DeleteBudgetWithContext(ctx aws.Context, input *DeleteBudgetIn return out, req.Send() } +const opDeleteBudgetAction = "DeleteBudgetAction" + +// DeleteBudgetActionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBudgetAction 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 DeleteBudgetAction for more information on using the DeleteBudgetAction +// 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 DeleteBudgetActionRequest method. +// req, resp := client.DeleteBudgetActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *Budgets) DeleteBudgetActionRequest(input *DeleteBudgetActionInput) (req *request.Request, output *DeleteBudgetActionOutput) { + op := &request.Operation{ + Name: opDeleteBudgetAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteBudgetActionInput{} + } + + output = &DeleteBudgetActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteBudgetAction API operation for AWS Budgets. +// +// Deletes a budget action. +// +// 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 Budgets's +// API operation DeleteBudgetAction for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * InvalidParameterException +// An error on the client occurred. Typically, the cause is an invalid input +// value. +// +// * NotFoundException +// We can’t locate the resource that you specified. +// +// * AccessDeniedException +// You are not authorized to use this operation with the given parameters. +// +// * ResourceLockedException +// The request was received and recognized by the server, but the server rejected +// that particular method for the requested resource. +// +func (c *Budgets) DeleteBudgetAction(input *DeleteBudgetActionInput) (*DeleteBudgetActionOutput, error) { + req, out := c.DeleteBudgetActionRequest(input) + return out, req.Send() +} + +// DeleteBudgetActionWithContext is the same as DeleteBudgetAction with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBudgetAction 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 *Budgets) DeleteBudgetActionWithContext(ctx aws.Context, input *DeleteBudgetActionInput, opts ...request.Option) (*DeleteBudgetActionOutput, error) { + req, out := c.DeleteBudgetActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteNotification = "DeleteNotification" // DeleteNotificationRequest generates a "aws/request.Request" representing the @@ -662,63 +846,56 @@ func (c *Budgets) DescribeBudgetWithContext(ctx aws.Context, input *DescribeBudg return out, req.Send() } -const opDescribeBudgetPerformanceHistory = "DescribeBudgetPerformanceHistory" +const opDescribeBudgetAction = "DescribeBudgetAction" -// DescribeBudgetPerformanceHistoryRequest generates a "aws/request.Request" representing the -// client's request for the DescribeBudgetPerformanceHistory operation. The "output" return +// DescribeBudgetActionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBudgetAction 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 DescribeBudgetPerformanceHistory for more information on using the DescribeBudgetPerformanceHistory +// See DescribeBudgetAction for more information on using the DescribeBudgetAction // 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 DescribeBudgetPerformanceHistoryRequest method. -// req, resp := client.DescribeBudgetPerformanceHistoryRequest(params) +// // Example sending a request using the DescribeBudgetActionRequest method. +// req, resp := client.DescribeBudgetActionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *Budgets) DescribeBudgetPerformanceHistoryRequest(input *DescribeBudgetPerformanceHistoryInput) (req *request.Request, output *DescribeBudgetPerformanceHistoryOutput) { +func (c *Budgets) DescribeBudgetActionRequest(input *DescribeBudgetActionInput) (req *request.Request, output *DescribeBudgetActionOutput) { op := &request.Operation{ - Name: opDescribeBudgetPerformanceHistory, + Name: opDescribeBudgetAction, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &DescribeBudgetPerformanceHistoryInput{} + input = &DescribeBudgetActionInput{} } - output = &DescribeBudgetPerformanceHistoryOutput{} + output = &DescribeBudgetActionOutput{} req = c.newRequest(op, input, output) return } -// DescribeBudgetPerformanceHistory API operation for AWS Budgets. +// DescribeBudgetAction API operation for AWS Budgets. // -// Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history -// isn't available for ANNUAL budgets. +// Describes a budget action detail. // // 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 Budgets's -// API operation DescribeBudgetPerformanceHistory for usage and error information. +// API operation DescribeBudgetAction for usage and error information. // // Returned Error Types: // * InternalErrorException @@ -732,115 +909,57 @@ func (c *Budgets) DescribeBudgetPerformanceHistoryRequest(input *DescribeBudgetP // * NotFoundException // We can’t locate the resource that you specified. // -// * InvalidNextTokenException -// The pagination token is invalid. -// -// * ExpiredNextTokenException -// The pagination token expired. -// // * AccessDeniedException // You are not authorized to use this operation with the given parameters. // -func (c *Budgets) DescribeBudgetPerformanceHistory(input *DescribeBudgetPerformanceHistoryInput) (*DescribeBudgetPerformanceHistoryOutput, error) { - req, out := c.DescribeBudgetPerformanceHistoryRequest(input) +func (c *Budgets) DescribeBudgetAction(input *DescribeBudgetActionInput) (*DescribeBudgetActionOutput, error) { + req, out := c.DescribeBudgetActionRequest(input) return out, req.Send() } -// DescribeBudgetPerformanceHistoryWithContext is the same as DescribeBudgetPerformanceHistory with the addition of +// DescribeBudgetActionWithContext is the same as DescribeBudgetAction with the addition of // the ability to pass a context and additional request options. // -// See DescribeBudgetPerformanceHistory for details on how to use this API operation. +// See DescribeBudgetAction 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 *Budgets) DescribeBudgetPerformanceHistoryWithContext(ctx aws.Context, input *DescribeBudgetPerformanceHistoryInput, opts ...request.Option) (*DescribeBudgetPerformanceHistoryOutput, error) { - req, out := c.DescribeBudgetPerformanceHistoryRequest(input) +func (c *Budgets) DescribeBudgetActionWithContext(ctx aws.Context, input *DescribeBudgetActionInput, opts ...request.Option) (*DescribeBudgetActionOutput, error) { + req, out := c.DescribeBudgetActionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeBudgetPerformanceHistoryPages iterates over the pages of a DescribeBudgetPerformanceHistory operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See DescribeBudgetPerformanceHistory 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 DescribeBudgetPerformanceHistory operation. -// pageNum := 0 -// err := client.DescribeBudgetPerformanceHistoryPages(params, -// func(page *budgets.DescribeBudgetPerformanceHistoryOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Budgets) DescribeBudgetPerformanceHistoryPages(input *DescribeBudgetPerformanceHistoryInput, fn func(*DescribeBudgetPerformanceHistoryOutput, bool) bool) error { - return c.DescribeBudgetPerformanceHistoryPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// DescribeBudgetPerformanceHistoryPagesWithContext same as DescribeBudgetPerformanceHistoryPages 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 *Budgets) DescribeBudgetPerformanceHistoryPagesWithContext(ctx aws.Context, input *DescribeBudgetPerformanceHistoryInput, fn func(*DescribeBudgetPerformanceHistoryOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *DescribeBudgetPerformanceHistoryInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.DescribeBudgetPerformanceHistoryRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*DescribeBudgetPerformanceHistoryOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opDescribeBudgets = "DescribeBudgets" +const opDescribeBudgetActionHistories = "DescribeBudgetActionHistories" -// DescribeBudgetsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeBudgets operation. The "output" return +// DescribeBudgetActionHistoriesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBudgetActionHistories 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 DescribeBudgets for more information on using the DescribeBudgets +// See DescribeBudgetActionHistories for more information on using the DescribeBudgetActionHistories // 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 DescribeBudgetsRequest method. -// req, resp := client.DescribeBudgetsRequest(params) +// // Example sending a request using the DescribeBudgetActionHistoriesRequest method. +// req, resp := client.DescribeBudgetActionHistoriesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *Budgets) DescribeBudgetsRequest(input *DescribeBudgetsInput) (req *request.Request, output *DescribeBudgetsOutput) { +func (c *Budgets) DescribeBudgetActionHistoriesRequest(input *DescribeBudgetActionHistoriesInput) (req *request.Request, output *DescribeBudgetActionHistoriesOutput) { op := &request.Operation{ - Name: opDescribeBudgets, + Name: opDescribeBudgetActionHistories, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -852,28 +971,24 @@ func (c *Budgets) DescribeBudgetsRequest(input *DescribeBudgetsInput) (req *requ } if input == nil { - input = &DescribeBudgetsInput{} + input = &DescribeBudgetActionHistoriesInput{} } - output = &DescribeBudgetsOutput{} + output = &DescribeBudgetActionHistoriesOutput{} req = c.newRequest(op, input, output) return } -// DescribeBudgets API operation for AWS Budgets. -// -// Lists the budgets that are associated with an account. +// DescribeBudgetActionHistories API operation for AWS Budgets. // -// The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, -// see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples) -// section. +// Describes a budget action history detail. // // 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 Budgets's -// API operation DescribeBudgets for usage and error information. +// API operation DescribeBudgetActionHistories for usage and error information. // // Returned Error Types: // * InternalErrorException @@ -887,73 +1002,70 @@ func (c *Budgets) DescribeBudgetsRequest(input *DescribeBudgetsInput) (req *requ // * NotFoundException // We can’t locate the resource that you specified. // -// * InvalidNextTokenException -// The pagination token is invalid. -// -// * ExpiredNextTokenException -// The pagination token expired. -// // * AccessDeniedException // You are not authorized to use this operation with the given parameters. // -func (c *Budgets) DescribeBudgets(input *DescribeBudgetsInput) (*DescribeBudgetsOutput, error) { - req, out := c.DescribeBudgetsRequest(input) +// * InvalidNextTokenException +// The pagination token is invalid. +// +func (c *Budgets) DescribeBudgetActionHistories(input *DescribeBudgetActionHistoriesInput) (*DescribeBudgetActionHistoriesOutput, error) { + req, out := c.DescribeBudgetActionHistoriesRequest(input) return out, req.Send() } -// DescribeBudgetsWithContext is the same as DescribeBudgets with the addition of +// DescribeBudgetActionHistoriesWithContext is the same as DescribeBudgetActionHistories with the addition of // the ability to pass a context and additional request options. // -// See DescribeBudgets for details on how to use this API operation. +// See DescribeBudgetActionHistories 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 *Budgets) DescribeBudgetsWithContext(ctx aws.Context, input *DescribeBudgetsInput, opts ...request.Option) (*DescribeBudgetsOutput, error) { - req, out := c.DescribeBudgetsRequest(input) +func (c *Budgets) DescribeBudgetActionHistoriesWithContext(ctx aws.Context, input *DescribeBudgetActionHistoriesInput, opts ...request.Option) (*DescribeBudgetActionHistoriesOutput, error) { + req, out := c.DescribeBudgetActionHistoriesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeBudgetsPages iterates over the pages of a DescribeBudgets operation, +// DescribeBudgetActionHistoriesPages iterates over the pages of a DescribeBudgetActionHistories operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeBudgets method for more information on how to use this operation. +// See DescribeBudgetActionHistories 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 DescribeBudgets operation. +// // Example iterating over at most 3 pages of a DescribeBudgetActionHistories operation. // pageNum := 0 -// err := client.DescribeBudgetsPages(params, -// func(page *budgets.DescribeBudgetsOutput, lastPage bool) bool { +// err := client.DescribeBudgetActionHistoriesPages(params, +// func(page *budgets.DescribeBudgetActionHistoriesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Budgets) DescribeBudgetsPages(input *DescribeBudgetsInput, fn func(*DescribeBudgetsOutput, bool) bool) error { - return c.DescribeBudgetsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Budgets) DescribeBudgetActionHistoriesPages(input *DescribeBudgetActionHistoriesInput, fn func(*DescribeBudgetActionHistoriesOutput, bool) bool) error { + return c.DescribeBudgetActionHistoriesPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeBudgetsPagesWithContext same as DescribeBudgetsPages except +// DescribeBudgetActionHistoriesPagesWithContext same as DescribeBudgetActionHistoriesPages 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 *Budgets) DescribeBudgetsPagesWithContext(ctx aws.Context, input *DescribeBudgetsInput, fn func(*DescribeBudgetsOutput, bool) bool, opts ...request.Option) error { +func (c *Budgets) DescribeBudgetActionHistoriesPagesWithContext(ctx aws.Context, input *DescribeBudgetActionHistoriesInput, fn func(*DescribeBudgetActionHistoriesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeBudgetsInput + var inCpy *DescribeBudgetActionHistoriesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeBudgetsRequest(inCpy) + req, _ := c.DescribeBudgetActionHistoriesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -961,7 +1073,7 @@ func (c *Budgets) DescribeBudgetsPagesWithContext(ctx aws.Context, input *Descri } for p.Next() { - if !fn(p.Page().(*DescribeBudgetsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeBudgetActionHistoriesOutput), !p.HasNextPage()) { break } } @@ -969,33 +1081,33 @@ func (c *Budgets) DescribeBudgetsPagesWithContext(ctx aws.Context, input *Descri return p.Err() } -const opDescribeNotificationsForBudget = "DescribeNotificationsForBudget" +const opDescribeBudgetActionsForAccount = "DescribeBudgetActionsForAccount" -// DescribeNotificationsForBudgetRequest generates a "aws/request.Request" representing the -// client's request for the DescribeNotificationsForBudget operation. The "output" return +// DescribeBudgetActionsForAccountRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBudgetActionsForAccount 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 DescribeNotificationsForBudget for more information on using the DescribeNotificationsForBudget +// See DescribeBudgetActionsForAccount for more information on using the DescribeBudgetActionsForAccount // 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 DescribeNotificationsForBudgetRequest method. -// req, resp := client.DescribeNotificationsForBudgetRequest(params) +// // Example sending a request using the DescribeBudgetActionsForAccountRequest method. +// req, resp := client.DescribeBudgetActionsForAccountRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *Budgets) DescribeNotificationsForBudgetRequest(input *DescribeNotificationsForBudgetInput) (req *request.Request, output *DescribeNotificationsForBudgetOutput) { +func (c *Budgets) DescribeBudgetActionsForAccountRequest(input *DescribeBudgetActionsForAccountInput) (req *request.Request, output *DescribeBudgetActionsForAccountOutput) { op := &request.Operation{ - Name: opDescribeNotificationsForBudget, + Name: opDescribeBudgetActionsForAccount, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1007,24 +1119,24 @@ func (c *Budgets) DescribeNotificationsForBudgetRequest(input *DescribeNotificat } if input == nil { - input = &DescribeNotificationsForBudgetInput{} + input = &DescribeBudgetActionsForAccountInput{} } - output = &DescribeNotificationsForBudgetOutput{} + output = &DescribeBudgetActionsForAccountOutput{} req = c.newRequest(op, input, output) return } -// DescribeNotificationsForBudget API operation for AWS Budgets. +// DescribeBudgetActionsForAccount API operation for AWS Budgets. // -// Lists the notifications that are associated with a budget. +// Describes all of the budget actions for an 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 Budgets's -// API operation DescribeNotificationsForBudget for usage and error information. +// API operation DescribeBudgetActionsForAccount for usage and error information. // // Returned Error Types: // * InternalErrorException @@ -1035,76 +1147,70 @@ func (c *Budgets) DescribeNotificationsForBudgetRequest(input *DescribeNotificat // An error on the client occurred. Typically, the cause is an invalid input // value. // -// * NotFoundException -// We can’t locate the resource that you specified. +// * AccessDeniedException +// You are not authorized to use this operation with the given parameters. // // * InvalidNextTokenException // The pagination token is invalid. // -// * ExpiredNextTokenException -// The pagination token expired. -// -// * AccessDeniedException -// You are not authorized to use this operation with the given parameters. -// -func (c *Budgets) DescribeNotificationsForBudget(input *DescribeNotificationsForBudgetInput) (*DescribeNotificationsForBudgetOutput, error) { - req, out := c.DescribeNotificationsForBudgetRequest(input) +func (c *Budgets) DescribeBudgetActionsForAccount(input *DescribeBudgetActionsForAccountInput) (*DescribeBudgetActionsForAccountOutput, error) { + req, out := c.DescribeBudgetActionsForAccountRequest(input) return out, req.Send() } -// DescribeNotificationsForBudgetWithContext is the same as DescribeNotificationsForBudget with the addition of +// DescribeBudgetActionsForAccountWithContext is the same as DescribeBudgetActionsForAccount with the addition of // the ability to pass a context and additional request options. // -// See DescribeNotificationsForBudget for details on how to use this API operation. +// See DescribeBudgetActionsForAccount 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 *Budgets) DescribeNotificationsForBudgetWithContext(ctx aws.Context, input *DescribeNotificationsForBudgetInput, opts ...request.Option) (*DescribeNotificationsForBudgetOutput, error) { - req, out := c.DescribeNotificationsForBudgetRequest(input) +func (c *Budgets) DescribeBudgetActionsForAccountWithContext(ctx aws.Context, input *DescribeBudgetActionsForAccountInput, opts ...request.Option) (*DescribeBudgetActionsForAccountOutput, error) { + req, out := c.DescribeBudgetActionsForAccountRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeNotificationsForBudgetPages iterates over the pages of a DescribeNotificationsForBudget operation, +// DescribeBudgetActionsForAccountPages iterates over the pages of a DescribeBudgetActionsForAccount operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeNotificationsForBudget method for more information on how to use this operation. +// See DescribeBudgetActionsForAccount 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 DescribeNotificationsForBudget operation. +// // Example iterating over at most 3 pages of a DescribeBudgetActionsForAccount operation. // pageNum := 0 -// err := client.DescribeNotificationsForBudgetPages(params, -// func(page *budgets.DescribeNotificationsForBudgetOutput, lastPage bool) bool { +// err := client.DescribeBudgetActionsForAccountPages(params, +// func(page *budgets.DescribeBudgetActionsForAccountOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Budgets) DescribeNotificationsForBudgetPages(input *DescribeNotificationsForBudgetInput, fn func(*DescribeNotificationsForBudgetOutput, bool) bool) error { - return c.DescribeNotificationsForBudgetPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Budgets) DescribeBudgetActionsForAccountPages(input *DescribeBudgetActionsForAccountInput, fn func(*DescribeBudgetActionsForAccountOutput, bool) bool) error { + return c.DescribeBudgetActionsForAccountPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeNotificationsForBudgetPagesWithContext same as DescribeNotificationsForBudgetPages except +// DescribeBudgetActionsForAccountPagesWithContext same as DescribeBudgetActionsForAccountPages 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 *Budgets) DescribeNotificationsForBudgetPagesWithContext(ctx aws.Context, input *DescribeNotificationsForBudgetInput, fn func(*DescribeNotificationsForBudgetOutput, bool) bool, opts ...request.Option) error { +func (c *Budgets) DescribeBudgetActionsForAccountPagesWithContext(ctx aws.Context, input *DescribeBudgetActionsForAccountInput, fn func(*DescribeBudgetActionsForAccountOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeNotificationsForBudgetInput + var inCpy *DescribeBudgetActionsForAccountInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeNotificationsForBudgetRequest(inCpy) + req, _ := c.DescribeBudgetActionsForAccountRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1112,7 +1218,7 @@ func (c *Budgets) DescribeNotificationsForBudgetPagesWithContext(ctx aws.Context } for p.Next() { - if !fn(p.Page().(*DescribeNotificationsForBudgetOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeBudgetActionsForAccountOutput), !p.HasNextPage()) { break } } @@ -1120,33 +1226,33 @@ func (c *Budgets) DescribeNotificationsForBudgetPagesWithContext(ctx aws.Context return p.Err() } -const opDescribeSubscribersForNotification = "DescribeSubscribersForNotification" +const opDescribeBudgetActionsForBudget = "DescribeBudgetActionsForBudget" -// DescribeSubscribersForNotificationRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSubscribersForNotification operation. The "output" return +// DescribeBudgetActionsForBudgetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBudgetActionsForBudget 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 DescribeSubscribersForNotification for more information on using the DescribeSubscribersForNotification +// See DescribeBudgetActionsForBudget for more information on using the DescribeBudgetActionsForBudget // 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 DescribeSubscribersForNotificationRequest method. -// req, resp := client.DescribeSubscribersForNotificationRequest(params) +// // Example sending a request using the DescribeBudgetActionsForBudgetRequest method. +// req, resp := client.DescribeBudgetActionsForBudgetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *Budgets) DescribeSubscribersForNotificationRequest(input *DescribeSubscribersForNotificationInput) (req *request.Request, output *DescribeSubscribersForNotificationOutput) { +func (c *Budgets) DescribeBudgetActionsForBudgetRequest(input *DescribeBudgetActionsForBudgetInput) (req *request.Request, output *DescribeBudgetActionsForBudgetOutput) { op := &request.Operation{ - Name: opDescribeSubscribersForNotification, + Name: opDescribeBudgetActionsForBudget, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1158,104 +1264,101 @@ func (c *Budgets) DescribeSubscribersForNotificationRequest(input *DescribeSubsc } if input == nil { - input = &DescribeSubscribersForNotificationInput{} + input = &DescribeBudgetActionsForBudgetInput{} } - output = &DescribeSubscribersForNotificationOutput{} + output = &DescribeBudgetActionsForBudgetOutput{} req = c.newRequest(op, input, output) return } -// DescribeSubscribersForNotification API operation for AWS Budgets. +// DescribeBudgetActionsForBudget API operation for AWS Budgets. // -// Lists the subscribers that are associated with a notification. +// Describes all of the budget actions for a budget. // // 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 Budgets's -// API operation DescribeSubscribersForNotification for usage and error information. +// API operation DescribeBudgetActionsForBudget for usage and error information. // // Returned Error Types: // * InternalErrorException // An error on the server occurred during the processing of your request. Try // again later. // -// * NotFoundException -// We can’t locate the resource that you specified. -// // * InvalidParameterException // An error on the client occurred. Typically, the cause is an invalid input // value. // -// * InvalidNextTokenException -// The pagination token is invalid. -// -// * ExpiredNextTokenException -// The pagination token expired. +// * NotFoundException +// We can’t locate the resource that you specified. // // * AccessDeniedException // You are not authorized to use this operation with the given parameters. // -func (c *Budgets) DescribeSubscribersForNotification(input *DescribeSubscribersForNotificationInput) (*DescribeSubscribersForNotificationOutput, error) { - req, out := c.DescribeSubscribersForNotificationRequest(input) +// * InvalidNextTokenException +// The pagination token is invalid. +// +func (c *Budgets) DescribeBudgetActionsForBudget(input *DescribeBudgetActionsForBudgetInput) (*DescribeBudgetActionsForBudgetOutput, error) { + req, out := c.DescribeBudgetActionsForBudgetRequest(input) return out, req.Send() } -// DescribeSubscribersForNotificationWithContext is the same as DescribeSubscribersForNotification with the addition of +// DescribeBudgetActionsForBudgetWithContext is the same as DescribeBudgetActionsForBudget with the addition of // the ability to pass a context and additional request options. // -// See DescribeSubscribersForNotification for details on how to use this API operation. +// See DescribeBudgetActionsForBudget 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 *Budgets) DescribeSubscribersForNotificationWithContext(ctx aws.Context, input *DescribeSubscribersForNotificationInput, opts ...request.Option) (*DescribeSubscribersForNotificationOutput, error) { - req, out := c.DescribeSubscribersForNotificationRequest(input) +func (c *Budgets) DescribeBudgetActionsForBudgetWithContext(ctx aws.Context, input *DescribeBudgetActionsForBudgetInput, opts ...request.Option) (*DescribeBudgetActionsForBudgetOutput, error) { + req, out := c.DescribeBudgetActionsForBudgetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeSubscribersForNotificationPages iterates over the pages of a DescribeSubscribersForNotification operation, +// DescribeBudgetActionsForBudgetPages iterates over the pages of a DescribeBudgetActionsForBudget operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeSubscribersForNotification method for more information on how to use this operation. +// See DescribeBudgetActionsForBudget 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 DescribeSubscribersForNotification operation. +// // Example iterating over at most 3 pages of a DescribeBudgetActionsForBudget operation. // pageNum := 0 -// err := client.DescribeSubscribersForNotificationPages(params, -// func(page *budgets.DescribeSubscribersForNotificationOutput, lastPage bool) bool { +// err := client.DescribeBudgetActionsForBudgetPages(params, +// func(page *budgets.DescribeBudgetActionsForBudgetOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Budgets) DescribeSubscribersForNotificationPages(input *DescribeSubscribersForNotificationInput, fn func(*DescribeSubscribersForNotificationOutput, bool) bool) error { - return c.DescribeSubscribersForNotificationPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Budgets) DescribeBudgetActionsForBudgetPages(input *DescribeBudgetActionsForBudgetInput, fn func(*DescribeBudgetActionsForBudgetOutput, bool) bool) error { + return c.DescribeBudgetActionsForBudgetPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeSubscribersForNotificationPagesWithContext same as DescribeSubscribersForNotificationPages except +// DescribeBudgetActionsForBudgetPagesWithContext same as DescribeBudgetActionsForBudgetPages 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 *Budgets) DescribeSubscribersForNotificationPagesWithContext(ctx aws.Context, input *DescribeSubscribersForNotificationInput, fn func(*DescribeSubscribersForNotificationOutput, bool) bool, opts ...request.Option) error { +func (c *Budgets) DescribeBudgetActionsForBudgetPagesWithContext(ctx aws.Context, input *DescribeBudgetActionsForBudgetInput, fn func(*DescribeBudgetActionsForBudgetOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeSubscribersForNotificationInput + var inCpy *DescribeBudgetActionsForBudgetInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeSubscribersForNotificationRequest(inCpy) + req, _ := c.DescribeBudgetActionsForBudgetRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1263,7 +1366,7 @@ func (c *Budgets) DescribeSubscribersForNotificationPagesWithContext(ctx aws.Con } for p.Next() { - if !fn(p.Page().(*DescribeSubscribersForNotificationOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeBudgetActionsForBudgetOutput), !p.HasNextPage()) { break } } @@ -1271,64 +1374,63 @@ func (c *Budgets) DescribeSubscribersForNotificationPagesWithContext(ctx aws.Con return p.Err() } -const opUpdateBudget = "UpdateBudget" +const opDescribeBudgetPerformanceHistory = "DescribeBudgetPerformanceHistory" -// UpdateBudgetRequest generates a "aws/request.Request" representing the -// client's request for the UpdateBudget operation. The "output" return +// DescribeBudgetPerformanceHistoryRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBudgetPerformanceHistory 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 UpdateBudget for more information on using the UpdateBudget +// See DescribeBudgetPerformanceHistory for more information on using the DescribeBudgetPerformanceHistory // 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 UpdateBudgetRequest method. -// req, resp := client.UpdateBudgetRequest(params) +// // Example sending a request using the DescribeBudgetPerformanceHistoryRequest method. +// req, resp := client.DescribeBudgetPerformanceHistoryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *Budgets) UpdateBudgetRequest(input *UpdateBudgetInput) (req *request.Request, output *UpdateBudgetOutput) { +func (c *Budgets) DescribeBudgetPerformanceHistoryRequest(input *DescribeBudgetPerformanceHistoryInput) (req *request.Request, output *DescribeBudgetPerformanceHistoryOutput) { op := &request.Operation{ - Name: opUpdateBudget, + Name: opDescribeBudgetPerformanceHistory, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateBudgetInput{} + input = &DescribeBudgetPerformanceHistoryInput{} } - output = &UpdateBudgetOutput{} + output = &DescribeBudgetPerformanceHistoryOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateBudget API operation for AWS Budgets. -// -// Updates a budget. You can change every part of a budget except for the budgetName -// and the calculatedSpend. When you modify a budget, the calculatedSpend drops -// to zero until AWS has new usage data to use for forecasting. +// DescribeBudgetPerformanceHistory API operation for AWS Budgets. // -// Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax -// at one time. Use the syntax that matches your case. The Request Syntax section -// shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples) -// section. +// Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history +// isn't available for ANNUAL budgets. // // 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 Budgets's -// API operation UpdateBudget for usage and error information. +// API operation DescribeBudgetPerformanceHistory for usage and error information. // // Returned Error Types: // * InternalErrorException @@ -1342,81 +1444,148 @@ func (c *Budgets) UpdateBudgetRequest(input *UpdateBudgetInput) (req *request.Re // * NotFoundException // We can’t locate the resource that you specified. // +// * InvalidNextTokenException +// The pagination token is invalid. +// +// * ExpiredNextTokenException +// The pagination token expired. +// // * AccessDeniedException // You are not authorized to use this operation with the given parameters. // -func (c *Budgets) UpdateBudget(input *UpdateBudgetInput) (*UpdateBudgetOutput, error) { - req, out := c.UpdateBudgetRequest(input) +func (c *Budgets) DescribeBudgetPerformanceHistory(input *DescribeBudgetPerformanceHistoryInput) (*DescribeBudgetPerformanceHistoryOutput, error) { + req, out := c.DescribeBudgetPerformanceHistoryRequest(input) return out, req.Send() } -// UpdateBudgetWithContext is the same as UpdateBudget with the addition of +// DescribeBudgetPerformanceHistoryWithContext is the same as DescribeBudgetPerformanceHistory with the addition of // the ability to pass a context and additional request options. // -// See UpdateBudget for details on how to use this API operation. +// See DescribeBudgetPerformanceHistory 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 *Budgets) UpdateBudgetWithContext(ctx aws.Context, input *UpdateBudgetInput, opts ...request.Option) (*UpdateBudgetOutput, error) { - req, out := c.UpdateBudgetRequest(input) +func (c *Budgets) DescribeBudgetPerformanceHistoryWithContext(ctx aws.Context, input *DescribeBudgetPerformanceHistoryInput, opts ...request.Option) (*DescribeBudgetPerformanceHistoryOutput, error) { + req, out := c.DescribeBudgetPerformanceHistoryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateNotification = "UpdateNotification" +// DescribeBudgetPerformanceHistoryPages iterates over the pages of a DescribeBudgetPerformanceHistory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeBudgetPerformanceHistory 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 DescribeBudgetPerformanceHistory operation. +// pageNum := 0 +// err := client.DescribeBudgetPerformanceHistoryPages(params, +// func(page *budgets.DescribeBudgetPerformanceHistoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Budgets) DescribeBudgetPerformanceHistoryPages(input *DescribeBudgetPerformanceHistoryInput, fn func(*DescribeBudgetPerformanceHistoryOutput, bool) bool) error { + return c.DescribeBudgetPerformanceHistoryPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateNotificationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateNotification operation. The "output" return +// DescribeBudgetPerformanceHistoryPagesWithContext same as DescribeBudgetPerformanceHistoryPages 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 *Budgets) DescribeBudgetPerformanceHistoryPagesWithContext(ctx aws.Context, input *DescribeBudgetPerformanceHistoryInput, fn func(*DescribeBudgetPerformanceHistoryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeBudgetPerformanceHistoryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeBudgetPerformanceHistoryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeBudgetPerformanceHistoryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeBudgets = "DescribeBudgets" + +// DescribeBudgetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBudgets 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 UpdateNotification for more information on using the UpdateNotification +// See DescribeBudgets for more information on using the DescribeBudgets // 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 UpdateNotificationRequest method. -// req, resp := client.UpdateNotificationRequest(params) +// // Example sending a request using the DescribeBudgetsRequest method. +// req, resp := client.DescribeBudgetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *Budgets) UpdateNotificationRequest(input *UpdateNotificationInput) (req *request.Request, output *UpdateNotificationOutput) { +func (c *Budgets) DescribeBudgetsRequest(input *DescribeBudgetsInput) (req *request.Request, output *DescribeBudgetsOutput) { op := &request.Operation{ - Name: opUpdateNotification, + Name: opDescribeBudgets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateNotificationInput{} + input = &DescribeBudgetsInput{} } - output = &UpdateNotificationOutput{} + output = &DescribeBudgetsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateNotification API operation for AWS Budgets. +// DescribeBudgets API operation for AWS Budgets. // -// Updates a notification. +// Lists the budgets that are associated with an account. +// +// The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, +// see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples) +// section. // // 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 Budgets's -// API operation UpdateNotification for usage and error information. +// API operation DescribeBudgets for usage and error information. // // Returned Error Types: // * InternalErrorException @@ -1430,84 +1599,144 @@ func (c *Budgets) UpdateNotificationRequest(input *UpdateNotificationInput) (req // * NotFoundException // We can’t locate the resource that you specified. // -// * DuplicateRecordException -// The budget name already exists. Budget names must be unique within an account. +// * InvalidNextTokenException +// The pagination token is invalid. +// +// * ExpiredNextTokenException +// The pagination token expired. // // * AccessDeniedException // You are not authorized to use this operation with the given parameters. // -func (c *Budgets) UpdateNotification(input *UpdateNotificationInput) (*UpdateNotificationOutput, error) { - req, out := c.UpdateNotificationRequest(input) +func (c *Budgets) DescribeBudgets(input *DescribeBudgetsInput) (*DescribeBudgetsOutput, error) { + req, out := c.DescribeBudgetsRequest(input) return out, req.Send() } -// UpdateNotificationWithContext is the same as UpdateNotification with the addition of +// DescribeBudgetsWithContext is the same as DescribeBudgets with the addition of // the ability to pass a context and additional request options. // -// See UpdateNotification for details on how to use this API operation. +// See DescribeBudgets 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 *Budgets) UpdateNotificationWithContext(ctx aws.Context, input *UpdateNotificationInput, opts ...request.Option) (*UpdateNotificationOutput, error) { - req, out := c.UpdateNotificationRequest(input) +func (c *Budgets) DescribeBudgetsWithContext(ctx aws.Context, input *DescribeBudgetsInput, opts ...request.Option) (*DescribeBudgetsOutput, error) { + req, out := c.DescribeBudgetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateSubscriber = "UpdateSubscriber" +// DescribeBudgetsPages iterates over the pages of a DescribeBudgets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeBudgets 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 DescribeBudgets operation. +// pageNum := 0 +// err := client.DescribeBudgetsPages(params, +// func(page *budgets.DescribeBudgetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Budgets) DescribeBudgetsPages(input *DescribeBudgetsInput, fn func(*DescribeBudgetsOutput, bool) bool) error { + return c.DescribeBudgetsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateSubscriberRequest generates a "aws/request.Request" representing the -// client's request for the UpdateSubscriber operation. The "output" return +// DescribeBudgetsPagesWithContext same as DescribeBudgetsPages 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 *Budgets) DescribeBudgetsPagesWithContext(ctx aws.Context, input *DescribeBudgetsInput, fn func(*DescribeBudgetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeBudgetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeBudgetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeBudgetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeNotificationsForBudget = "DescribeNotificationsForBudget" + +// DescribeNotificationsForBudgetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNotificationsForBudget 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 UpdateSubscriber for more information on using the UpdateSubscriber +// See DescribeNotificationsForBudget for more information on using the DescribeNotificationsForBudget // 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 UpdateSubscriberRequest method. -// req, resp := client.UpdateSubscriberRequest(params) +// // Example sending a request using the DescribeNotificationsForBudgetRequest method. +// req, resp := client.DescribeNotificationsForBudgetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *Budgets) UpdateSubscriberRequest(input *UpdateSubscriberInput) (req *request.Request, output *UpdateSubscriberOutput) { +func (c *Budgets) DescribeNotificationsForBudgetRequest(input *DescribeNotificationsForBudgetInput) (req *request.Request, output *DescribeNotificationsForBudgetOutput) { op := &request.Operation{ - Name: opUpdateSubscriber, + Name: opDescribeNotificationsForBudget, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateSubscriberInput{} + input = &DescribeNotificationsForBudgetInput{} } - output = &UpdateSubscriberOutput{} + output = &DescribeNotificationsForBudgetOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateSubscriber API operation for AWS Budgets. +// DescribeNotificationsForBudget API operation for AWS Budgets. // -// Updates a subscriber. +// Lists the notifications that are associated with a budget. // // 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 Budgets's -// API operation UpdateSubscriber for usage and error information. +// API operation DescribeNotificationsForBudget for usage and error information. // // Returned Error Types: // * InternalErrorException @@ -1521,248 +1750,1990 @@ func (c *Budgets) UpdateSubscriberRequest(input *UpdateSubscriberInput) (req *re // * NotFoundException // We can’t locate the resource that you specified. // -// * DuplicateRecordException -// The budget name already exists. Budget names must be unique within an account. +// * InvalidNextTokenException +// The pagination token is invalid. +// +// * ExpiredNextTokenException +// The pagination token expired. // // * AccessDeniedException // You are not authorized to use this operation with the given parameters. // -func (c *Budgets) UpdateSubscriber(input *UpdateSubscriberInput) (*UpdateSubscriberOutput, error) { - req, out := c.UpdateSubscriberRequest(input) +func (c *Budgets) DescribeNotificationsForBudget(input *DescribeNotificationsForBudgetInput) (*DescribeNotificationsForBudgetOutput, error) { + req, out := c.DescribeNotificationsForBudgetRequest(input) return out, req.Send() } -// UpdateSubscriberWithContext is the same as UpdateSubscriber with the addition of +// DescribeNotificationsForBudgetWithContext is the same as DescribeNotificationsForBudget with the addition of // the ability to pass a context and additional request options. // -// See UpdateSubscriber for details on how to use this API operation. +// See DescribeNotificationsForBudget 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 *Budgets) UpdateSubscriberWithContext(ctx aws.Context, input *UpdateSubscriberInput, opts ...request.Option) (*UpdateSubscriberOutput, error) { - req, out := c.UpdateSubscriberRequest(input) +func (c *Budgets) DescribeNotificationsForBudgetWithContext(ctx aws.Context, input *DescribeNotificationsForBudgetInput, opts ...request.Option) (*DescribeNotificationsForBudgetOutput, error) { + req, out := c.DescribeNotificationsForBudgetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// You are not authorized to use this operation with the given parameters. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - // The error message the exception carries. - 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() +// DescribeNotificationsForBudgetPages iterates over the pages of a DescribeNotificationsForBudget operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeNotificationsForBudget 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 DescribeNotificationsForBudget operation. +// pageNum := 0 +// err := client.DescribeNotificationsForBudgetPages(params, +// func(page *budgets.DescribeNotificationsForBudgetOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Budgets) DescribeNotificationsForBudgetPages(input *DescribeNotificationsForBudgetInput, fn func(*DescribeNotificationsForBudgetOutput, bool) bool) error { + return c.DescribeNotificationsForBudgetPagesWithContext(aws.BackgroundContext(), input, fn) } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +// DescribeNotificationsForBudgetPagesWithContext same as DescribeNotificationsForBudgetPages 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 *Budgets) DescribeNotificationsForBudgetPagesWithContext(ctx aws.Context, input *DescribeNotificationsForBudgetInput, fn func(*DescribeNotificationsForBudgetOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeNotificationsForBudgetInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeNotificationsForBudgetRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, } -} - -// 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_ + for p.Next() { + if !fn(p.Page().(*DescribeNotificationsForBudgetOutput), !p.HasNextPage()) { + break + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil + return p.Err() } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} +const opDescribeSubscribersForNotification = "DescribeSubscribersForNotification" -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode -} +// DescribeSubscribersForNotificationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSubscribersForNotification 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 DescribeSubscribersForNotification for more information on using the DescribeSubscribersForNotification +// 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 DescribeSubscribersForNotificationRequest method. +// req, resp := client.DescribeSubscribersForNotificationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *Budgets) DescribeSubscribersForNotificationRequest(input *DescribeSubscribersForNotificationInput) (req *request.Request, output *DescribeSubscribersForNotificationOutput) { + op := &request.Operation{ + Name: opDescribeSubscribersForNotification, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID + if input == nil { + input = &DescribeSubscribersForNotificationInput{} + } + + output = &DescribeSubscribersForNotificationOutput{} + req = c.newRequest(op, input, output) + return } -// Represents the output of the CreateBudget operation. The content consists -// of the detailed metadata and data file information, and the current status -// of the budget object. +// DescribeSubscribersForNotification API operation for AWS Budgets. // -// This is the ARN pattern for a budget: +// Lists the subscribers that are associated with a notification. // -// arn:aws:budgets::AccountId:budget/budgetName -type Budget struct { - _ struct{} `type:"structure"` - +// 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 Budgets's +// API operation DescribeSubscribersForNotification for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * NotFoundException +// We can’t locate the resource that you specified. +// +// * InvalidParameterException +// An error on the client occurred. Typically, the cause is an invalid input +// value. +// +// * InvalidNextTokenException +// The pagination token is invalid. +// +// * ExpiredNextTokenException +// The pagination token expired. +// +// * AccessDeniedException +// You are not authorized to use this operation with the given parameters. +// +func (c *Budgets) DescribeSubscribersForNotification(input *DescribeSubscribersForNotificationInput) (*DescribeSubscribersForNotificationOutput, error) { + req, out := c.DescribeSubscribersForNotificationRequest(input) + return out, req.Send() +} + +// DescribeSubscribersForNotificationWithContext is the same as DescribeSubscribersForNotification with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSubscribersForNotification 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 *Budgets) DescribeSubscribersForNotificationWithContext(ctx aws.Context, input *DescribeSubscribersForNotificationInput, opts ...request.Option) (*DescribeSubscribersForNotificationOutput, error) { + req, out := c.DescribeSubscribersForNotificationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSubscribersForNotificationPages iterates over the pages of a DescribeSubscribersForNotification operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSubscribersForNotification 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 DescribeSubscribersForNotification operation. +// pageNum := 0 +// err := client.DescribeSubscribersForNotificationPages(params, +// func(page *budgets.DescribeSubscribersForNotificationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Budgets) DescribeSubscribersForNotificationPages(input *DescribeSubscribersForNotificationInput, fn func(*DescribeSubscribersForNotificationOutput, bool) bool) error { + return c.DescribeSubscribersForNotificationPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSubscribersForNotificationPagesWithContext same as DescribeSubscribersForNotificationPages 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 *Budgets) DescribeSubscribersForNotificationPagesWithContext(ctx aws.Context, input *DescribeSubscribersForNotificationInput, fn func(*DescribeSubscribersForNotificationOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSubscribersForNotificationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSubscribersForNotificationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSubscribersForNotificationOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opExecuteBudgetAction = "ExecuteBudgetAction" + +// ExecuteBudgetActionRequest generates a "aws/request.Request" representing the +// client's request for the ExecuteBudgetAction 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 ExecuteBudgetAction for more information on using the ExecuteBudgetAction +// 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 ExecuteBudgetActionRequest method. +// req, resp := client.ExecuteBudgetActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *Budgets) ExecuteBudgetActionRequest(input *ExecuteBudgetActionInput) (req *request.Request, output *ExecuteBudgetActionOutput) { + op := &request.Operation{ + Name: opExecuteBudgetAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ExecuteBudgetActionInput{} + } + + output = &ExecuteBudgetActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// ExecuteBudgetAction API operation for AWS Budgets. +// +// Executes a budget action. +// +// 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 Budgets's +// API operation ExecuteBudgetAction for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * InvalidParameterException +// An error on the client occurred. Typically, the cause is an invalid input +// value. +// +// * NotFoundException +// We can’t locate the resource that you specified. +// +// * AccessDeniedException +// You are not authorized to use this operation with the given parameters. +// +// * ResourceLockedException +// The request was received and recognized by the server, but the server rejected +// that particular method for the requested resource. +// +func (c *Budgets) ExecuteBudgetAction(input *ExecuteBudgetActionInput) (*ExecuteBudgetActionOutput, error) { + req, out := c.ExecuteBudgetActionRequest(input) + return out, req.Send() +} + +// ExecuteBudgetActionWithContext is the same as ExecuteBudgetAction with the addition of +// the ability to pass a context and additional request options. +// +// See ExecuteBudgetAction 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 *Budgets) ExecuteBudgetActionWithContext(ctx aws.Context, input *ExecuteBudgetActionInput, opts ...request.Option) (*ExecuteBudgetActionOutput, error) { + req, out := c.ExecuteBudgetActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateBudget = "UpdateBudget" + +// UpdateBudgetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBudget 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 UpdateBudget for more information on using the UpdateBudget +// 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 UpdateBudgetRequest method. +// req, resp := client.UpdateBudgetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *Budgets) UpdateBudgetRequest(input *UpdateBudgetInput) (req *request.Request, output *UpdateBudgetOutput) { + op := &request.Operation{ + Name: opUpdateBudget, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateBudgetInput{} + } + + output = &UpdateBudgetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateBudget API operation for AWS Budgets. +// +// Updates a budget. You can change every part of a budget except for the budgetName +// and the calculatedSpend. When you modify a budget, the calculatedSpend drops +// to zero until AWS has new usage data to use for forecasting. +// +// Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax +// at one time. Use the syntax that matches your case. The Request Syntax section +// shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples) +// section. +// +// 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 Budgets's +// API operation UpdateBudget for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * InvalidParameterException +// An error on the client occurred. Typically, the cause is an invalid input +// value. +// +// * NotFoundException +// We can’t locate the resource that you specified. +// +// * AccessDeniedException +// You are not authorized to use this operation with the given parameters. +// +func (c *Budgets) UpdateBudget(input *UpdateBudgetInput) (*UpdateBudgetOutput, error) { + req, out := c.UpdateBudgetRequest(input) + return out, req.Send() +} + +// UpdateBudgetWithContext is the same as UpdateBudget with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateBudget 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 *Budgets) UpdateBudgetWithContext(ctx aws.Context, input *UpdateBudgetInput, opts ...request.Option) (*UpdateBudgetOutput, error) { + req, out := c.UpdateBudgetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateBudgetAction = "UpdateBudgetAction" + +// UpdateBudgetActionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBudgetAction 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 UpdateBudgetAction for more information on using the UpdateBudgetAction +// 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 UpdateBudgetActionRequest method. +// req, resp := client.UpdateBudgetActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *Budgets) UpdateBudgetActionRequest(input *UpdateBudgetActionInput) (req *request.Request, output *UpdateBudgetActionOutput) { + op := &request.Operation{ + Name: opUpdateBudgetAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateBudgetActionInput{} + } + + output = &UpdateBudgetActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateBudgetAction API operation for AWS Budgets. +// +// Updates a budget action. +// +// 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 Budgets's +// API operation UpdateBudgetAction for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * InvalidParameterException +// An error on the client occurred. Typically, the cause is an invalid input +// value. +// +// * NotFoundException +// We can’t locate the resource that you specified. +// +// * AccessDeniedException +// You are not authorized to use this operation with the given parameters. +// +// * ResourceLockedException +// The request was received and recognized by the server, but the server rejected +// that particular method for the requested resource. +// +func (c *Budgets) UpdateBudgetAction(input *UpdateBudgetActionInput) (*UpdateBudgetActionOutput, error) { + req, out := c.UpdateBudgetActionRequest(input) + return out, req.Send() +} + +// UpdateBudgetActionWithContext is the same as UpdateBudgetAction with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateBudgetAction 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 *Budgets) UpdateBudgetActionWithContext(ctx aws.Context, input *UpdateBudgetActionInput, opts ...request.Option) (*UpdateBudgetActionOutput, error) { + req, out := c.UpdateBudgetActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateNotification = "UpdateNotification" + +// UpdateNotificationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateNotification 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 UpdateNotification for more information on using the UpdateNotification +// 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 UpdateNotificationRequest method. +// req, resp := client.UpdateNotificationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *Budgets) UpdateNotificationRequest(input *UpdateNotificationInput) (req *request.Request, output *UpdateNotificationOutput) { + op := &request.Operation{ + Name: opUpdateNotification, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateNotificationInput{} + } + + output = &UpdateNotificationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateNotification API operation for AWS Budgets. +// +// Updates a notification. +// +// 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 Budgets's +// API operation UpdateNotification for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * InvalidParameterException +// An error on the client occurred. Typically, the cause is an invalid input +// value. +// +// * NotFoundException +// We can’t locate the resource that you specified. +// +// * DuplicateRecordException +// The budget name already exists. Budget names must be unique within an account. +// +// * AccessDeniedException +// You are not authorized to use this operation with the given parameters. +// +func (c *Budgets) UpdateNotification(input *UpdateNotificationInput) (*UpdateNotificationOutput, error) { + req, out := c.UpdateNotificationRequest(input) + return out, req.Send() +} + +// UpdateNotificationWithContext is the same as UpdateNotification with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateNotification 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 *Budgets) UpdateNotificationWithContext(ctx aws.Context, input *UpdateNotificationInput, opts ...request.Option) (*UpdateNotificationOutput, error) { + req, out := c.UpdateNotificationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSubscriber = "UpdateSubscriber" + +// UpdateSubscriberRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSubscriber 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 UpdateSubscriber for more information on using the UpdateSubscriber +// 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 UpdateSubscriberRequest method. +// req, resp := client.UpdateSubscriberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *Budgets) UpdateSubscriberRequest(input *UpdateSubscriberInput) (req *request.Request, output *UpdateSubscriberOutput) { + op := &request.Operation{ + Name: opUpdateSubscriber, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSubscriberInput{} + } + + output = &UpdateSubscriberOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateSubscriber API operation for AWS Budgets. +// +// Updates a subscriber. +// +// 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 Budgets's +// API operation UpdateSubscriber for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * InvalidParameterException +// An error on the client occurred. Typically, the cause is an invalid input +// value. +// +// * NotFoundException +// We can’t locate the resource that you specified. +// +// * DuplicateRecordException +// The budget name already exists. Budget names must be unique within an account. +// +// * AccessDeniedException +// You are not authorized to use this operation with the given parameters. +// +func (c *Budgets) UpdateSubscriber(input *UpdateSubscriberInput) (*UpdateSubscriberOutput, error) { + req, out := c.UpdateSubscriberRequest(input) + return out, req.Send() +} + +// UpdateSubscriberWithContext is the same as UpdateSubscriber with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSubscriber 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 *Budgets) UpdateSubscriberWithContext(ctx aws.Context, input *UpdateSubscriberInput, opts ...request.Option) (*UpdateSubscriberOutput, error) { + req, out := c.UpdateSubscriberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You are not authorized to use this operation with the given parameters. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The error message the exception carries. + 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 +} + +// A budget action resource. +type Action struct { + _ struct{} `type:"structure"` + + // A system-generated universally unique identifier (UUID) for the action. + // + // ActionId is a required field + ActionId *string `min:"36" type:"string" required:"true"` + + // The trigger threshold of the action. + // + // ActionThreshold is a required field + ActionThreshold *ActionThreshold `type:"structure" required:"true"` + + // The type of action. This defines the type of tasks that can be carried out + // by this action. This field also determines the format for definition. + // + // ActionType is a required field + ActionType *string `type:"string" required:"true" enum:"ActionType"` + + // This specifies if the action needs manual or automatic approval. + // + // ApprovalModel is a required field + ApprovalModel *string `type:"string" required:"true" enum:"ApprovalModel"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` + + // Where you specify all of the type-specific parameters. + // + // Definition is a required field + Definition *Definition `type:"structure" required:"true"` + + // The role passed for action execution and reversion. Roles and actions must + // be in the same account. + // + // ExecutionRoleArn is a required field + ExecutionRoleArn *string `min:"32" type:"string" required:"true"` + + // The type of a notification. It must be ACTUAL or FORECASTED. + // + // NotificationType is a required field + NotificationType *string `type:"string" required:"true" enum:"NotificationType"` + + // The status of action. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ActionStatus"` + + // A list of subscribers. + // + // Subscribers is a required field + Subscribers []*Subscriber `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s Action) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Action) GoString() string { + return s.String() +} + +// SetActionId sets the ActionId field's value. +func (s *Action) SetActionId(v string) *Action { + s.ActionId = &v + return s +} + +// SetActionThreshold sets the ActionThreshold field's value. +func (s *Action) SetActionThreshold(v *ActionThreshold) *Action { + s.ActionThreshold = v + return s +} + +// SetActionType sets the ActionType field's value. +func (s *Action) SetActionType(v string) *Action { + s.ActionType = &v + return s +} + +// SetApprovalModel sets the ApprovalModel field's value. +func (s *Action) SetApprovalModel(v string) *Action { + s.ApprovalModel = &v + return s +} + +// SetBudgetName sets the BudgetName field's value. +func (s *Action) SetBudgetName(v string) *Action { + s.BudgetName = &v + return s +} + +// SetDefinition sets the Definition field's value. +func (s *Action) SetDefinition(v *Definition) *Action { + s.Definition = v + return s +} + +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *Action) SetExecutionRoleArn(v string) *Action { + s.ExecutionRoleArn = &v + return s +} + +// SetNotificationType sets the NotificationType field's value. +func (s *Action) SetNotificationType(v string) *Action { + s.NotificationType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Action) SetStatus(v string) *Action { + s.Status = &v + return s +} + +// SetSubscribers sets the Subscribers field's value. +func (s *Action) SetSubscribers(v []*Subscriber) *Action { + s.Subscribers = v + return s +} + +// The historical records for a budget action. +type ActionHistory struct { + _ struct{} `type:"structure"` + + // The description of details of the event. + // + // ActionHistoryDetails is a required field + ActionHistoryDetails *ActionHistoryDetails `type:"structure" required:"true"` + + // This distinguishes between whether the events are triggered by the user or + // generated by the system. + // + // EventType is a required field + EventType *string `type:"string" required:"true" enum:"EventType"` + + // The status of action at the time of the event. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ActionStatus"` + + // A generic time stamp. In Java, it is transformed to a Date object. + // + // Timestamp is a required field + Timestamp *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s ActionHistory) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActionHistory) GoString() string { + return s.String() +} + +// SetActionHistoryDetails sets the ActionHistoryDetails field's value. +func (s *ActionHistory) SetActionHistoryDetails(v *ActionHistoryDetails) *ActionHistory { + s.ActionHistoryDetails = v + return s +} + +// SetEventType sets the EventType field's value. +func (s *ActionHistory) SetEventType(v string) *ActionHistory { + s.EventType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ActionHistory) SetStatus(v string) *ActionHistory { + s.Status = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *ActionHistory) SetTimestamp(v time.Time) *ActionHistory { + s.Timestamp = &v + return s +} + +// The description of details of the event. +type ActionHistoryDetails struct { + _ struct{} `type:"structure"` + + // The budget action resource. + // + // Action is a required field + Action *Action `type:"structure" required:"true"` + + // A generic string. + // + // Message is a required field + Message *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ActionHistoryDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActionHistoryDetails) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *ActionHistoryDetails) SetAction(v *Action) *ActionHistoryDetails { + s.Action = v + return s +} + +// SetMessage sets the Message field's value. +func (s *ActionHistoryDetails) SetMessage(v string) *ActionHistoryDetails { + s.Message = &v + return s +} + +// The trigger threshold of the action. +type ActionThreshold struct { + _ struct{} `type:"structure"` + + // The type of threshold for a notification. + // + // ActionThresholdType is a required field + ActionThresholdType *string `type:"string" required:"true" enum:"ThresholdType"` + + // The threshold of a notification. + // + // ActionThresholdValue is a required field + ActionThresholdValue *float64 `type:"double" required:"true"` +} + +// String returns the string representation +func (s ActionThreshold) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActionThreshold) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActionThreshold) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActionThreshold"} + if s.ActionThresholdType == nil { + invalidParams.Add(request.NewErrParamRequired("ActionThresholdType")) + } + if s.ActionThresholdValue == nil { + invalidParams.Add(request.NewErrParamRequired("ActionThresholdValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionThresholdType sets the ActionThresholdType field's value. +func (s *ActionThreshold) SetActionThresholdType(v string) *ActionThreshold { + s.ActionThresholdType = &v + return s +} + +// SetActionThresholdValue sets the ActionThresholdValue field's value. +func (s *ActionThreshold) SetActionThresholdValue(v float64) *ActionThreshold { + s.ActionThresholdValue = &v + return s +} + +// Represents the output of the CreateBudget operation. The content consists +// of the detailed metadata and data file information, and the current status +// of the budget object. +// +// This is the ARN pattern for a budget: +// +// arn:aws:budgets::AccountId:budget/budgetName +type Budget struct { + _ struct{} `type:"structure"` + // The total amount of cost, usage, RI utilization, RI coverage, Savings Plans // utilization, or Savings Plans coverage that you want to track with your budget. // - // BudgetLimit is required for cost or usage budgets, but optional for RI or - // Savings Plans utilization or coverage budgets. RI and Savings Plans utilization - // or coverage budgets default to 100, which is the only valid value for RI - // or Savings Plans utilization or coverage budgets. You can't use BudgetLimit - // with PlannedBudgetLimits for CreateBudget and UpdateBudget actions. - BudgetLimit *Spend `type:"structure"` + // BudgetLimit is required for cost or usage budgets, but optional for RI or + // Savings Plans utilization or coverage budgets. RI and Savings Plans utilization + // or coverage budgets default to 100, which is the only valid value for RI + // or Savings Plans utilization or coverage budgets. You can't use BudgetLimit + // with PlannedBudgetLimits for CreateBudget and UpdateBudget actions. + BudgetLimit *Spend `type:"structure"` + + // The name of a budget. The name must be unique within an account. The : and + // \ characters aren't allowed in BudgetName. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` + + // Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings + // Plans utilization, or Savings Plans coverage. + // + // BudgetType is a required field + BudgetType *string `type:"string" required:"true" enum:"BudgetType"` + + // The actual and forecasted cost or usage that the budget tracks. + CalculatedSpend *CalculatedSpend `type:"structure"` + + // The cost filters, such as service or tag, that are applied to a budget. + // + // AWS Budgets supports the following services as a filter for RI budgets: + // + // * Amazon Elastic Compute Cloud - Compute + // + // * Amazon Redshift + // + // * Amazon Relational Database Service + // + // * Amazon ElastiCache + // + // * Amazon Elasticsearch Service + CostFilters map[string][]*string `type:"map"` + + // The types of costs that are included in this COST budget. + // + // USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE + // budgets do not have CostTypes. + CostTypes *CostTypes `type:"structure"` + + // The last time that you updated this budget. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A map containing multiple BudgetLimit, including current or future limits. + // + // PlannedBudgetLimits is available for cost or usage budget and supports monthly + // and quarterly TimeUnit. + // + // For monthly budgets, provide 12 months of PlannedBudgetLimits values. This + // must start from the current month and include the next 11 months. The key + // is the start of the month, UTC in epoch seconds. + // + // For quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries + // in standard calendar quarter increments. This must start from the current + // quarter and include the next 3 quarters. The key is the start of the quarter, + // UTC in epoch seconds. + // + // If the planned budget expires before 12 months for monthly or 4 quarters + // for quarterly, provide the PlannedBudgetLimits values only for the remaining + // periods. + // + // If the budget begins at a date in the future, provide PlannedBudgetLimits + // values from the start date of the budget. + // + // After all of the BudgetLimit values in PlannedBudgetLimits are used, the + // budget continues to use the last limit as the BudgetLimit. At that point, + // the planned budget provides the same experience as a fixed budget. + // + // DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits + // will also contain BudgetLimit representing the current month or quarter limit + // present in PlannedBudgetLimits. This only applies to budgets created with + // PlannedBudgetLimits. Budgets created without PlannedBudgetLimits will only + // contain BudgetLimit, and no PlannedBudgetLimits. + PlannedBudgetLimits map[string]*Spend `type:"map"` + + // The period of time that is covered by a budget. The period has a start date + // and an end date. The start date must come before the end date. The end date + // must come before 06/15/87 00:00 UTC. + // + // If you create your budget and don't specify a start date, AWS defaults to + // the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). + // For example, if you created your budget on January 24, 2018, chose DAILY, + // and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. + // If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you + // didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. + // The defaults are the same for the AWS Billing and Cost Management console + // and the API. + // + // You can change either date with the UpdateBudget operation. + // + // After the end date, AWS deletes the budget and all associated notifications + // and subscribers. + TimePeriod *TimePeriod `type:"structure"` + + // The length of time until a budget resets the actual and forecasted spend. + // + // TimeUnit is a required field + TimeUnit *string `type:"string" required:"true" enum:"TimeUnit"` +} + +// String returns the string representation +func (s Budget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Budget) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Budget) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Budget"} + if s.BudgetName == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetName")) + } + if s.BudgetName != nil && len(*s.BudgetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) + } + if s.BudgetType == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetType")) + } + if s.TimeUnit == nil { + invalidParams.Add(request.NewErrParamRequired("TimeUnit")) + } + if s.BudgetLimit != nil { + if err := s.BudgetLimit.Validate(); err != nil { + invalidParams.AddNested("BudgetLimit", err.(request.ErrInvalidParams)) + } + } + if s.CalculatedSpend != nil { + if err := s.CalculatedSpend.Validate(); err != nil { + invalidParams.AddNested("CalculatedSpend", err.(request.ErrInvalidParams)) + } + } + if s.PlannedBudgetLimits != nil { + for i, v := range s.PlannedBudgetLimits { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlannedBudgetLimits", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBudgetLimit sets the BudgetLimit field's value. +func (s *Budget) SetBudgetLimit(v *Spend) *Budget { + s.BudgetLimit = v + return s +} + +// SetBudgetName sets the BudgetName field's value. +func (s *Budget) SetBudgetName(v string) *Budget { + s.BudgetName = &v + return s +} + +// SetBudgetType sets the BudgetType field's value. +func (s *Budget) SetBudgetType(v string) *Budget { + s.BudgetType = &v + return s +} + +// SetCalculatedSpend sets the CalculatedSpend field's value. +func (s *Budget) SetCalculatedSpend(v *CalculatedSpend) *Budget { + s.CalculatedSpend = v + return s +} + +// SetCostFilters sets the CostFilters field's value. +func (s *Budget) SetCostFilters(v map[string][]*string) *Budget { + s.CostFilters = v + return s +} + +// SetCostTypes sets the CostTypes field's value. +func (s *Budget) SetCostTypes(v *CostTypes) *Budget { + s.CostTypes = v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Budget) SetLastUpdatedTime(v time.Time) *Budget { + s.LastUpdatedTime = &v + return s +} + +// SetPlannedBudgetLimits sets the PlannedBudgetLimits field's value. +func (s *Budget) SetPlannedBudgetLimits(v map[string]*Spend) *Budget { + s.PlannedBudgetLimits = v + return s +} + +// SetTimePeriod sets the TimePeriod field's value. +func (s *Budget) SetTimePeriod(v *TimePeriod) *Budget { + s.TimePeriod = v + return s +} + +// SetTimeUnit sets the TimeUnit field's value. +func (s *Budget) SetTimeUnit(v string) *Budget { + s.TimeUnit = &v + return s +} + +// A history of the state of a budget at the end of the budget's specified time +// period. +type BudgetPerformanceHistory struct { + _ struct{} `type:"structure"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. + BudgetName *string `min:"1" type:"string"` + + // The type of a budget. It must be one of the following types: + // + // COST, USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, or SAVINGS_PLANS_COVERAGE. + BudgetType *string `type:"string" enum:"BudgetType"` + + // A list of amounts of cost or usage that you created budgets for, compared + // to your actual costs or usage. + BudgetedAndActualAmountsList []*BudgetedAndActualAmounts `type:"list"` + + // The history of the cost filters for a budget during the specified time period. + CostFilters map[string][]*string `type:"map"` + + // The history of the cost types for a budget during the specified time period. + CostTypes *CostTypes `type:"structure"` + + // The time unit of the budget, such as MONTHLY or QUARTERLY. + TimeUnit *string `type:"string" enum:"TimeUnit"` +} + +// String returns the string representation +func (s BudgetPerformanceHistory) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BudgetPerformanceHistory) GoString() string { + return s.String() +} + +// SetBudgetName sets the BudgetName field's value. +func (s *BudgetPerformanceHistory) SetBudgetName(v string) *BudgetPerformanceHistory { + s.BudgetName = &v + return s +} + +// SetBudgetType sets the BudgetType field's value. +func (s *BudgetPerformanceHistory) SetBudgetType(v string) *BudgetPerformanceHistory { + s.BudgetType = &v + return s +} + +// SetBudgetedAndActualAmountsList sets the BudgetedAndActualAmountsList field's value. +func (s *BudgetPerformanceHistory) SetBudgetedAndActualAmountsList(v []*BudgetedAndActualAmounts) *BudgetPerformanceHistory { + s.BudgetedAndActualAmountsList = v + return s +} + +// SetCostFilters sets the CostFilters field's value. +func (s *BudgetPerformanceHistory) SetCostFilters(v map[string][]*string) *BudgetPerformanceHistory { + s.CostFilters = v + return s +} + +// SetCostTypes sets the CostTypes field's value. +func (s *BudgetPerformanceHistory) SetCostTypes(v *CostTypes) *BudgetPerformanceHistory { + s.CostTypes = v + return s +} + +// SetTimeUnit sets the TimeUnit field's value. +func (s *BudgetPerformanceHistory) SetTimeUnit(v string) *BudgetPerformanceHistory { + s.TimeUnit = &v + return s +} + +// The amount of cost or usage that you created the budget for, compared to +// your actual costs or usage. +type BudgetedAndActualAmounts struct { + _ struct{} `type:"structure"` + + // Your actual costs or usage for a budget period. + ActualAmount *Spend `type:"structure"` + + // The amount of cost or usage that you created the budget for. + BudgetedAmount *Spend `type:"structure"` + + // The time period covered by this budget comparison. + TimePeriod *TimePeriod `type:"structure"` +} + +// String returns the string representation +func (s BudgetedAndActualAmounts) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BudgetedAndActualAmounts) GoString() string { + return s.String() +} + +// SetActualAmount sets the ActualAmount field's value. +func (s *BudgetedAndActualAmounts) SetActualAmount(v *Spend) *BudgetedAndActualAmounts { + s.ActualAmount = v + return s +} + +// SetBudgetedAmount sets the BudgetedAmount field's value. +func (s *BudgetedAndActualAmounts) SetBudgetedAmount(v *Spend) *BudgetedAndActualAmounts { + s.BudgetedAmount = v + return s +} + +// SetTimePeriod sets the TimePeriod field's value. +func (s *BudgetedAndActualAmounts) SetTimePeriod(v *TimePeriod) *BudgetedAndActualAmounts { + s.TimePeriod = v + return s +} + +// The spend objects that are associated with this budget. The actualSpend tracks +// how much you've used, cost, usage, RI units, or Savings Plans units and the +// forecastedSpend tracks how much you are predicted to spend based on your +// historical usage profile. +// +// For example, if it is the 20th of the month and you have spent 50 dollars +// on Amazon EC2, your actualSpend is 50 USD, and your forecastedSpend is 75 +// USD. +type CalculatedSpend struct { + _ struct{} `type:"structure"` + + // The amount of cost, usage, RI units, or Savings Plans units that you have + // used. + // + // ActualSpend is a required field + ActualSpend *Spend `type:"structure" required:"true"` - // The name of a budget. The name must be unique within an account. The : and - // \ characters aren't allowed in BudgetName. + // The amount of cost, usage, RI units, or Savings Plans units that you are + // forecasted to use. + ForecastedSpend *Spend `type:"structure"` +} + +// String returns the string representation +func (s CalculatedSpend) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CalculatedSpend) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CalculatedSpend) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CalculatedSpend"} + if s.ActualSpend == nil { + invalidParams.Add(request.NewErrParamRequired("ActualSpend")) + } + if s.ActualSpend != nil { + if err := s.ActualSpend.Validate(); err != nil { + invalidParams.AddNested("ActualSpend", err.(request.ErrInvalidParams)) + } + } + if s.ForecastedSpend != nil { + if err := s.ForecastedSpend.Validate(); err != nil { + invalidParams.AddNested("ForecastedSpend", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActualSpend sets the ActualSpend field's value. +func (s *CalculatedSpend) SetActualSpend(v *Spend) *CalculatedSpend { + s.ActualSpend = v + return s +} + +// SetForecastedSpend sets the ForecastedSpend field's value. +func (s *CalculatedSpend) SetForecastedSpend(v *Spend) *CalculatedSpend { + s.ForecastedSpend = v + return s +} + +// The types of cost that are included in a COST budget, such as tax and subscriptions. +// +// USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE +// budgets do not have CostTypes. +type CostTypes struct { + _ struct{} `type:"structure"` + + // Specifies whether a budget includes credits. // - // BudgetName is a required field - BudgetName *string `min:"1" type:"string" required:"true"` + // The default value is true. + IncludeCredit *bool `type:"boolean"` - // Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings - // Plans utilization, or Savings Plans coverage. + // Specifies whether a budget includes discounts. // - // BudgetType is a required field - BudgetType *string `type:"string" required:"true" enum:"BudgetType"` + // The default value is true. + IncludeDiscount *bool `type:"boolean"` - // The actual and forecasted cost or usage that the budget tracks. - CalculatedSpend *CalculatedSpend `type:"structure"` + // Specifies whether a budget includes non-RI subscription costs. + // + // The default value is true. + IncludeOtherSubscription *bool `type:"boolean"` - // The cost filters, such as service or tag, that are applied to a budget. + // Specifies whether a budget includes recurring fees such as monthly RI fees. // - // AWS Budgets supports the following services as a filter for RI budgets: + // The default value is true. + IncludeRecurring *bool `type:"boolean"` + + // Specifies whether a budget includes refunds. // - // * Amazon Elastic Compute Cloud - Compute + // The default value is true. + IncludeRefund *bool `type:"boolean"` + + // Specifies whether a budget includes subscriptions. // - // * Amazon Redshift + // The default value is true. + IncludeSubscription *bool `type:"boolean"` + + // Specifies whether a budget includes support subscription fees. + // + // The default value is true. + IncludeSupport *bool `type:"boolean"` + + // Specifies whether a budget includes taxes. + // + // The default value is true. + IncludeTax *bool `type:"boolean"` + + // Specifies whether a budget includes upfront RI costs. + // + // The default value is true. + IncludeUpfront *bool `type:"boolean"` + + // Specifies whether a budget uses the amortized rate. + // + // The default value is false. + UseAmortized *bool `type:"boolean"` + + // Specifies whether a budget uses a blended rate. + // + // The default value is false. + UseBlended *bool `type:"boolean"` +} + +// String returns the string representation +func (s CostTypes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CostTypes) GoString() string { + return s.String() +} + +// SetIncludeCredit sets the IncludeCredit field's value. +func (s *CostTypes) SetIncludeCredit(v bool) *CostTypes { + s.IncludeCredit = &v + return s +} + +// SetIncludeDiscount sets the IncludeDiscount field's value. +func (s *CostTypes) SetIncludeDiscount(v bool) *CostTypes { + s.IncludeDiscount = &v + return s +} + +// SetIncludeOtherSubscription sets the IncludeOtherSubscription field's value. +func (s *CostTypes) SetIncludeOtherSubscription(v bool) *CostTypes { + s.IncludeOtherSubscription = &v + return s +} + +// SetIncludeRecurring sets the IncludeRecurring field's value. +func (s *CostTypes) SetIncludeRecurring(v bool) *CostTypes { + s.IncludeRecurring = &v + return s +} + +// SetIncludeRefund sets the IncludeRefund field's value. +func (s *CostTypes) SetIncludeRefund(v bool) *CostTypes { + s.IncludeRefund = &v + return s +} + +// SetIncludeSubscription sets the IncludeSubscription field's value. +func (s *CostTypes) SetIncludeSubscription(v bool) *CostTypes { + s.IncludeSubscription = &v + return s +} + +// SetIncludeSupport sets the IncludeSupport field's value. +func (s *CostTypes) SetIncludeSupport(v bool) *CostTypes { + s.IncludeSupport = &v + return s +} + +// SetIncludeTax sets the IncludeTax field's value. +func (s *CostTypes) SetIncludeTax(v bool) *CostTypes { + s.IncludeTax = &v + return s +} + +// SetIncludeUpfront sets the IncludeUpfront field's value. +func (s *CostTypes) SetIncludeUpfront(v bool) *CostTypes { + s.IncludeUpfront = &v + return s +} + +// SetUseAmortized sets the UseAmortized field's value. +func (s *CostTypes) SetUseAmortized(v bool) *CostTypes { + s.UseAmortized = &v + return s +} + +// SetUseBlended sets the UseBlended field's value. +func (s *CostTypes) SetUseBlended(v bool) *CostTypes { + s.UseBlended = &v + return s +} + +type CreateBudgetActionInput struct { + _ struct{} `type:"structure"` + + // The account ID of the user. It should be a 12-digit number. + // + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // The trigger threshold of the action. + // + // ActionThreshold is a required field + ActionThreshold *ActionThreshold `type:"structure" required:"true"` + + // The type of action. This defines the type of tasks that can be carried out + // by this action. This field also determines the format for definition. // - // * Amazon Relational Database Service + // ActionType is a required field + ActionType *string `type:"string" required:"true" enum:"ActionType"` + + // This specifies if the action needs manual or automatic approval. // - // * Amazon ElastiCache + // ApprovalModel is a required field + ApprovalModel *string `type:"string" required:"true" enum:"ApprovalModel"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. // - // * Amazon Elasticsearch Service - CostFilters map[string][]*string `type:"map"` + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` - // The types of costs that are included in this COST budget. + // Specifies all of the type-specific parameters. // - // USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE - // budgets do not have CostTypes. - CostTypes *CostTypes `type:"structure"` + // Definition is a required field + Definition *Definition `type:"structure" required:"true"` - // The last time that you updated this budget. - LastUpdatedTime *time.Time `type:"timestamp"` + // The role passed for action execution and reversion. Roles and actions must + // be in the same account. + // + // ExecutionRoleArn is a required field + ExecutionRoleArn *string `min:"32" type:"string" required:"true"` - // A map containing multiple BudgetLimit, including current or future limits. + // The type of a notification. It must be ACTUAL or FORECASTED. // - // PlannedBudgetLimits is available for cost or usage budget and supports monthly - // and quarterly TimeUnit. + // NotificationType is a required field + NotificationType *string `type:"string" required:"true" enum:"NotificationType"` + + // A list of subscribers. // - // For monthly budgets, provide 12 months of PlannedBudgetLimits values. This - // must start from the current month and include the next 11 months. The key - // is the start of the month, UTC in epoch seconds. + // Subscribers is a required field + Subscribers []*Subscriber `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CreateBudgetActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBudgetActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBudgetActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBudgetActionInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } + if s.ActionThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("ActionThreshold")) + } + if s.ActionType == nil { + invalidParams.Add(request.NewErrParamRequired("ActionType")) + } + if s.ApprovalModel == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalModel")) + } + if s.BudgetName == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetName")) + } + if s.BudgetName != nil && len(*s.BudgetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) + } + if s.Definition == nil { + invalidParams.Add(request.NewErrParamRequired("Definition")) + } + if s.ExecutionRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn")) + } + if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 32)) + } + if s.NotificationType == nil { + invalidParams.Add(request.NewErrParamRequired("NotificationType")) + } + if s.Subscribers == nil { + invalidParams.Add(request.NewErrParamRequired("Subscribers")) + } + if s.Subscribers != nil && len(s.Subscribers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Subscribers", 1)) + } + if s.ActionThreshold != nil { + if err := s.ActionThreshold.Validate(); err != nil { + invalidParams.AddNested("ActionThreshold", err.(request.ErrInvalidParams)) + } + } + if s.Definition != nil { + if err := s.Definition.Validate(); err != nil { + invalidParams.AddNested("Definition", err.(request.ErrInvalidParams)) + } + } + if s.Subscribers != nil { + for i, v := range s.Subscribers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *CreateBudgetActionInput) SetAccountId(v string) *CreateBudgetActionInput { + s.AccountId = &v + return s +} + +// SetActionThreshold sets the ActionThreshold field's value. +func (s *CreateBudgetActionInput) SetActionThreshold(v *ActionThreshold) *CreateBudgetActionInput { + s.ActionThreshold = v + return s +} + +// SetActionType sets the ActionType field's value. +func (s *CreateBudgetActionInput) SetActionType(v string) *CreateBudgetActionInput { + s.ActionType = &v + return s +} + +// SetApprovalModel sets the ApprovalModel field's value. +func (s *CreateBudgetActionInput) SetApprovalModel(v string) *CreateBudgetActionInput { + s.ApprovalModel = &v + return s +} + +// SetBudgetName sets the BudgetName field's value. +func (s *CreateBudgetActionInput) SetBudgetName(v string) *CreateBudgetActionInput { + s.BudgetName = &v + return s +} + +// SetDefinition sets the Definition field's value. +func (s *CreateBudgetActionInput) SetDefinition(v *Definition) *CreateBudgetActionInput { + s.Definition = v + return s +} + +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *CreateBudgetActionInput) SetExecutionRoleArn(v string) *CreateBudgetActionInput { + s.ExecutionRoleArn = &v + return s +} + +// SetNotificationType sets the NotificationType field's value. +func (s *CreateBudgetActionInput) SetNotificationType(v string) *CreateBudgetActionInput { + s.NotificationType = &v + return s +} + +// SetSubscribers sets the Subscribers field's value. +func (s *CreateBudgetActionInput) SetSubscribers(v []*Subscriber) *CreateBudgetActionInput { + s.Subscribers = v + return s +} + +type CreateBudgetActionOutput struct { + _ struct{} `type:"structure"` + + // The account ID of the user. It should be a 12-digit number. // - // For quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries - // in standard calendar quarter increments. This must start from the current - // quarter and include the next 3 quarters. The key is the start of the quarter, - // UTC in epoch seconds. + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // A system-generated universally unique identifier (UUID) for the action. // - // If the planned budget expires before 12 months for monthly or 4 quarters - // for quarterly, provide the PlannedBudgetLimits values only for the remaining - // periods. + // ActionId is a required field + ActionId *string `min:"36" type:"string" required:"true"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. // - // If the budget begins at a date in the future, provide PlannedBudgetLimits - // values from the start date of the budget. + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateBudgetActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBudgetActionOutput) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *CreateBudgetActionOutput) SetAccountId(v string) *CreateBudgetActionOutput { + s.AccountId = &v + return s +} + +// SetActionId sets the ActionId field's value. +func (s *CreateBudgetActionOutput) SetActionId(v string) *CreateBudgetActionOutput { + s.ActionId = &v + return s +} + +// SetBudgetName sets the BudgetName field's value. +func (s *CreateBudgetActionOutput) SetBudgetName(v string) *CreateBudgetActionOutput { + s.BudgetName = &v + return s +} + +// Request of CreateBudget +type CreateBudgetInput struct { + _ struct{} `type:"structure"` + + // The accountId that is associated with the budget. // - // After all of the BudgetLimit values in PlannedBudgetLimits are used, the - // budget continues to use the last limit as the BudgetLimit. At that point, - // the planned budget provides the same experience as a fixed budget. + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // The budget object that you want to create. // - // DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits - // will also contain BudgetLimit representing the current month or quarter limit - // present in PlannedBudgetLimits. This only applies to budgets created with - // PlannedBudgetLimits. Budgets created without PlannedBudgetLimits will only - // contain BudgetLimit, and no PlannedBudgetLimits. - PlannedBudgetLimits map[string]*Spend `type:"map"` + // Budget is a required field + Budget *Budget `type:"structure" required:"true"` + + // A notification that you want to associate with a budget. A budget can have + // up to five notifications, and each notification can have one SNS subscriber + // and up to 10 email subscribers. If you include notifications and subscribers + // in your CreateBudget call, AWS creates the notifications and subscribers + // for you. + NotificationsWithSubscribers []*NotificationWithSubscribers `type:"list"` +} + +// String returns the string representation +func (s CreateBudgetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBudgetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBudgetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBudgetInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } + if s.Budget == nil { + invalidParams.Add(request.NewErrParamRequired("Budget")) + } + if s.Budget != nil { + if err := s.Budget.Validate(); err != nil { + invalidParams.AddNested("Budget", err.(request.ErrInvalidParams)) + } + } + if s.NotificationsWithSubscribers != nil { + for i, v := range s.NotificationsWithSubscribers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NotificationsWithSubscribers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *CreateBudgetInput) SetAccountId(v string) *CreateBudgetInput { + s.AccountId = &v + return s +} + +// SetBudget sets the Budget field's value. +func (s *CreateBudgetInput) SetBudget(v *Budget) *CreateBudgetInput { + s.Budget = v + return s +} + +// SetNotificationsWithSubscribers sets the NotificationsWithSubscribers field's value. +func (s *CreateBudgetInput) SetNotificationsWithSubscribers(v []*NotificationWithSubscribers) *CreateBudgetInput { + s.NotificationsWithSubscribers = v + return s +} + +// Response of CreateBudget +type CreateBudgetOutput struct { + _ struct{} `type:"structure"` +} - // The period of time that is covered by a budget. The period has a start date - // and an end date. The start date must come before the end date. The end date - // must come before 06/15/87 00:00 UTC. +// String returns the string representation +func (s CreateBudgetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBudgetOutput) GoString() string { + return s.String() +} + +// Request of CreateNotification +type CreateNotificationInput struct { + _ struct{} `type:"structure"` + + // The accountId that is associated with the budget that you want to create + // a notification for. // - // If you create your budget and don't specify a start date, AWS defaults to - // the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). - // For example, if you created your budget on January 24, 2018, chose DAILY, - // and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. - // If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you - // didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. - // The defaults are the same for the AWS Billing and Cost Management console - // and the API. + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // The name of the budget that you want AWS to notify you about. Budget names + // must be unique within an account. // - // You can change either date with the UpdateBudget operation. + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` + + // The notification that you want to create. // - // After the end date, AWS deletes the budget and all associated notifications - // and subscribers. - TimePeriod *TimePeriod `type:"structure"` + // Notification is a required field + Notification *Notification `type:"structure" required:"true"` - // The length of time until a budget resets the actual and forecasted spend. + // A list of subscribers that you want to associate with the notification. Each + // notification can have one SNS subscriber and up to 10 email subscribers. // - // TimeUnit is a required field - TimeUnit *string `type:"string" required:"true" enum:"TimeUnit"` + // Subscribers is a required field + Subscribers []*Subscriber `min:"1" type:"list" required:"true"` } // String returns the string representation -func (s Budget) String() string { +func (s CreateNotificationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Budget) GoString() string { +func (s CreateNotificationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Budget) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Budget"} +func (s *CreateNotificationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateNotificationInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } if s.BudgetName == nil { invalidParams.Add(request.NewErrParamRequired("BudgetName")) } if s.BudgetName != nil && len(*s.BudgetName) < 1 { invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) } - if s.BudgetType == nil { - invalidParams.Add(request.NewErrParamRequired("BudgetType")) + if s.Notification == nil { + invalidParams.Add(request.NewErrParamRequired("Notification")) } - if s.TimeUnit == nil { - invalidParams.Add(request.NewErrParamRequired("TimeUnit")) + if s.Subscribers == nil { + invalidParams.Add(request.NewErrParamRequired("Subscribers")) } - if s.BudgetLimit != nil { - if err := s.BudgetLimit.Validate(); err != nil { - invalidParams.AddNested("BudgetLimit", err.(request.ErrInvalidParams)) - } + if s.Subscribers != nil && len(s.Subscribers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Subscribers", 1)) } - if s.CalculatedSpend != nil { - if err := s.CalculatedSpend.Validate(); err != nil { - invalidParams.AddNested("CalculatedSpend", err.(request.ErrInvalidParams)) + if s.Notification != nil { + if err := s.Notification.Validate(); err != nil { + invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) } } - if s.PlannedBudgetLimits != nil { - for i, v := range s.PlannedBudgetLimits { + if s.Subscribers != nil { + for i, v := range s.Subscribers { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlannedBudgetLimits", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) } } } @@ -1773,230 +3744,333 @@ func (s *Budget) Validate() error { return nil } -// SetBudgetLimit sets the BudgetLimit field's value. -func (s *Budget) SetBudgetLimit(v *Spend) *Budget { - s.BudgetLimit = v +// SetAccountId sets the AccountId field's value. +func (s *CreateNotificationInput) SetAccountId(v string) *CreateNotificationInput { + s.AccountId = &v return s } // SetBudgetName sets the BudgetName field's value. -func (s *Budget) SetBudgetName(v string) *Budget { +func (s *CreateNotificationInput) SetBudgetName(v string) *CreateNotificationInput { s.BudgetName = &v return s } -// SetBudgetType sets the BudgetType field's value. -func (s *Budget) SetBudgetType(v string) *Budget { - s.BudgetType = &v +// SetNotification sets the Notification field's value. +func (s *CreateNotificationInput) SetNotification(v *Notification) *CreateNotificationInput { + s.Notification = v return s } -// SetCalculatedSpend sets the CalculatedSpend field's value. -func (s *Budget) SetCalculatedSpend(v *CalculatedSpend) *Budget { - s.CalculatedSpend = v +// SetSubscribers sets the Subscribers field's value. +func (s *CreateNotificationInput) SetSubscribers(v []*Subscriber) *CreateNotificationInput { + s.Subscribers = v return s } -// SetCostFilters sets the CostFilters field's value. -func (s *Budget) SetCostFilters(v map[string][]*string) *Budget { - s.CostFilters = v - return s +// Response of CreateNotification +type CreateNotificationOutput struct { + _ struct{} `type:"structure"` } -// SetCostTypes sets the CostTypes field's value. -func (s *Budget) SetCostTypes(v *CostTypes) *Budget { - s.CostTypes = v - return s +// String returns the string representation +func (s CreateNotificationOutput) String() string { + return awsutil.Prettify(s) } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *Budget) SetLastUpdatedTime(v time.Time) *Budget { - s.LastUpdatedTime = &v +// GoString returns the string representation +func (s CreateNotificationOutput) GoString() string { + return s.String() +} + +// Request of CreateSubscriber +type CreateSubscriberInput struct { + _ struct{} `type:"structure"` + + // The accountId that is associated with the budget that you want to create + // a subscriber for. + // + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // The name of the budget that you want to subscribe to. Budget names must be + // unique within an account. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` + + // The notification that you want to create a subscriber for. + // + // Notification is a required field + Notification *Notification `type:"structure" required:"true"` + + // The subscriber that you want to associate with a budget notification. + // + // Subscriber is a required field + Subscriber *Subscriber `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateSubscriberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSubscriberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSubscriberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSubscriberInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } + if s.BudgetName == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetName")) + } + if s.BudgetName != nil && len(*s.BudgetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) + } + if s.Notification == nil { + invalidParams.Add(request.NewErrParamRequired("Notification")) + } + if s.Subscriber == nil { + invalidParams.Add(request.NewErrParamRequired("Subscriber")) + } + if s.Notification != nil { + if err := s.Notification.Validate(); err != nil { + invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) + } + } + if s.Subscriber != nil { + if err := s.Subscriber.Validate(); err != nil { + invalidParams.AddNested("Subscriber", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *CreateSubscriberInput) SetAccountId(v string) *CreateSubscriberInput { + s.AccountId = &v return s } -// SetPlannedBudgetLimits sets the PlannedBudgetLimits field's value. -func (s *Budget) SetPlannedBudgetLimits(v map[string]*Spend) *Budget { - s.PlannedBudgetLimits = v +// SetBudgetName sets the BudgetName field's value. +func (s *CreateSubscriberInput) SetBudgetName(v string) *CreateSubscriberInput { + s.BudgetName = &v return s } -// SetTimePeriod sets the TimePeriod field's value. -func (s *Budget) SetTimePeriod(v *TimePeriod) *Budget { - s.TimePeriod = v +// SetNotification sets the Notification field's value. +func (s *CreateSubscriberInput) SetNotification(v *Notification) *CreateSubscriberInput { + s.Notification = v return s } -// SetTimeUnit sets the TimeUnit field's value. -func (s *Budget) SetTimeUnit(v string) *Budget { - s.TimeUnit = &v +// SetSubscriber sets the Subscriber field's value. +func (s *CreateSubscriberInput) SetSubscriber(v *Subscriber) *CreateSubscriberInput { + s.Subscriber = v return s } -// A history of the state of a budget at the end of the budget's specified time -// period. -type BudgetPerformanceHistory struct { +// Response of CreateSubscriber +type CreateSubscriberOutput struct { _ struct{} `type:"structure"` +} - // A string that represents the budget name. The ":" and "\" characters aren't - // allowed. - BudgetName *string `min:"1" type:"string"` - - // The type of a budget. It must be one of the following types: - // - // COST, USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, or SAVINGS_PLANS_COVERAGE. - BudgetType *string `type:"string" enum:"BudgetType"` - - // A list of amounts of cost or usage that you created budgets for, compared - // to your actual costs or usage. - BudgetedAndActualAmountsList []*BudgetedAndActualAmounts `type:"list"` +// String returns the string representation +func (s CreateSubscriberOutput) String() string { + return awsutil.Prettify(s) +} - // The history of the cost filters for a budget during the specified time period. - CostFilters map[string][]*string `type:"map"` +// GoString returns the string representation +func (s CreateSubscriberOutput) GoString() string { + return s.String() +} - // The history of the cost types for a budget during the specified time period. - CostTypes *CostTypes `type:"structure"` +// You've exceeded the notification or subscriber limit. +type CreationLimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The time unit of the budget, such as MONTHLY or QUARTERLY. - TimeUnit *string `type:"string" enum:"TimeUnit"` + // The error message the exception carries. + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s BudgetPerformanceHistory) String() string { +func (s CreationLimitExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BudgetPerformanceHistory) GoString() string { +func (s CreationLimitExceededException) GoString() string { return s.String() } -// SetBudgetName sets the BudgetName field's value. -func (s *BudgetPerformanceHistory) SetBudgetName(v string) *BudgetPerformanceHistory { - s.BudgetName = &v - return s +func newErrorCreationLimitExceededException(v protocol.ResponseMetadata) error { + return &CreationLimitExceededException{ + RespMetadata: v, + } } -// SetBudgetType sets the BudgetType field's value. -func (s *BudgetPerformanceHistory) SetBudgetType(v string) *BudgetPerformanceHistory { - s.BudgetType = &v - return s +// Code returns the exception type name. +func (s *CreationLimitExceededException) Code() string { + return "CreationLimitExceededException" } -// SetBudgetedAndActualAmountsList sets the BudgetedAndActualAmountsList field's value. -func (s *BudgetPerformanceHistory) SetBudgetedAndActualAmountsList(v []*BudgetedAndActualAmounts) *BudgetPerformanceHistory { - s.BudgetedAndActualAmountsList = v - return s +// Message returns the exception's message. +func (s *CreationLimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetCostFilters sets the CostFilters field's value. -func (s *BudgetPerformanceHistory) SetCostFilters(v map[string][]*string) *BudgetPerformanceHistory { - s.CostFilters = v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *CreationLimitExceededException) OrigErr() error { + return nil } -// SetCostTypes sets the CostTypes field's value. -func (s *BudgetPerformanceHistory) SetCostTypes(v *CostTypes) *BudgetPerformanceHistory { - s.CostTypes = v - return s +func (s *CreationLimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetTimeUnit sets the TimeUnit field's value. -func (s *BudgetPerformanceHistory) SetTimeUnit(v string) *BudgetPerformanceHistory { - s.TimeUnit = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *CreationLimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode } -// The amount of cost or usage that you created the budget for, compared to -// your actual costs or usage. -type BudgetedAndActualAmounts struct { +// RequestID returns the service's response RequestID for request. +func (s *CreationLimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Specifies all of the type-specific parameters. +type Definition struct { _ struct{} `type:"structure"` - // Your actual costs or usage for a budget period. - ActualAmount *Spend `type:"structure"` + // The AWS Identity and Access Management (IAM) action definition details. + IamActionDefinition *IamActionDefinition `type:"structure"` - // The amount of cost or usage that you created the budget for. - BudgetedAmount *Spend `type:"structure"` + // The service control policies (SCPs) action definition details. + ScpActionDefinition *ScpActionDefinition `type:"structure"` - // The time period covered by this budget comparison. - TimePeriod *TimePeriod `type:"structure"` + // The AWS Systems Manager (SSM) action definition details. + SsmActionDefinition *SsmActionDefinition `type:"structure"` } // String returns the string representation -func (s BudgetedAndActualAmounts) String() string { +func (s Definition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BudgetedAndActualAmounts) GoString() string { +func (s Definition) GoString() string { return s.String() } -// SetActualAmount sets the ActualAmount field's value. -func (s *BudgetedAndActualAmounts) SetActualAmount(v *Spend) *BudgetedAndActualAmounts { - s.ActualAmount = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *Definition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Definition"} + if s.IamActionDefinition != nil { + if err := s.IamActionDefinition.Validate(); err != nil { + invalidParams.AddNested("IamActionDefinition", err.(request.ErrInvalidParams)) + } + } + if s.ScpActionDefinition != nil { + if err := s.ScpActionDefinition.Validate(); err != nil { + invalidParams.AddNested("ScpActionDefinition", err.(request.ErrInvalidParams)) + } + } + if s.SsmActionDefinition != nil { + if err := s.SsmActionDefinition.Validate(); err != nil { + invalidParams.AddNested("SsmActionDefinition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIamActionDefinition sets the IamActionDefinition field's value. +func (s *Definition) SetIamActionDefinition(v *IamActionDefinition) *Definition { + s.IamActionDefinition = v return s } -// SetBudgetedAmount sets the BudgetedAmount field's value. -func (s *BudgetedAndActualAmounts) SetBudgetedAmount(v *Spend) *BudgetedAndActualAmounts { - s.BudgetedAmount = v +// SetScpActionDefinition sets the ScpActionDefinition field's value. +func (s *Definition) SetScpActionDefinition(v *ScpActionDefinition) *Definition { + s.ScpActionDefinition = v return s } -// SetTimePeriod sets the TimePeriod field's value. -func (s *BudgetedAndActualAmounts) SetTimePeriod(v *TimePeriod) *BudgetedAndActualAmounts { - s.TimePeriod = v +// SetSsmActionDefinition sets the SsmActionDefinition field's value. +func (s *Definition) SetSsmActionDefinition(v *SsmActionDefinition) *Definition { + s.SsmActionDefinition = v return s } -// The spend objects that are associated with this budget. The actualSpend tracks -// how much you've used, cost, usage, RI units, or Savings Plans units and the -// forecastedSpend tracks how much you are predicted to spend based on your -// historical usage profile. -// -// For example, if it is the 20th of the month and you have spent 50 dollars -// on Amazon EC2, your actualSpend is 50 USD, and your forecastedSpend is 75 -// USD. -type CalculatedSpend struct { +type DeleteBudgetActionInput struct { _ struct{} `type:"structure"` - // The amount of cost, usage, RI units, or Savings Plans units that you have - // used. + // The account ID of the user. It should be a 12-digit number. // - // ActualSpend is a required field - ActualSpend *Spend `type:"structure" required:"true"` + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` - // The amount of cost, usage, RI units, or Savings Plans units that you are - // forecasted to use. - ForecastedSpend *Spend `type:"structure"` + // A system-generated universally unique identifier (UUID) for the action. + // + // ActionId is a required field + ActionId *string `min:"36" type:"string" required:"true"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CalculatedSpend) String() string { +func (s DeleteBudgetActionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CalculatedSpend) GoString() string { +func (s DeleteBudgetActionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CalculatedSpend) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CalculatedSpend"} - if s.ActualSpend == nil { - invalidParams.Add(request.NewErrParamRequired("ActualSpend")) +func (s *DeleteBudgetActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBudgetActionInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) } - if s.ActualSpend != nil { - if err := s.ActualSpend.Validate(); err != nil { - invalidParams.AddNested("ActualSpend", err.(request.ErrInvalidParams)) - } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) } - if s.ForecastedSpend != nil { - if err := s.ForecastedSpend.Validate(); err != nil { - invalidParams.AddNested("ForecastedSpend", err.(request.ErrInvalidParams)) - } + if s.ActionId == nil { + invalidParams.Add(request.NewErrParamRequired("ActionId")) + } + if s.ActionId != nil && len(*s.ActionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) + } + if s.BudgetName == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetName")) + } + if s.BudgetName != nil && len(*s.BudgetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) } if invalidParams.Len() > 0 { @@ -2005,214 +4079,198 @@ func (s *CalculatedSpend) Validate() error { return nil } -// SetActualSpend sets the ActualSpend field's value. -func (s *CalculatedSpend) SetActualSpend(v *Spend) *CalculatedSpend { - s.ActualSpend = v +// SetAccountId sets the AccountId field's value. +func (s *DeleteBudgetActionInput) SetAccountId(v string) *DeleteBudgetActionInput { + s.AccountId = &v return s } -// SetForecastedSpend sets the ForecastedSpend field's value. -func (s *CalculatedSpend) SetForecastedSpend(v *Spend) *CalculatedSpend { - s.ForecastedSpend = v +// SetActionId sets the ActionId field's value. +func (s *DeleteBudgetActionInput) SetActionId(v string) *DeleteBudgetActionInput { + s.ActionId = &v return s } -// The types of cost that are included in a COST budget, such as tax and subscriptions. -// -// USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE -// budgets do not have CostTypes. -type CostTypes struct { - _ struct{} `type:"structure"` - - // Specifies whether a budget includes credits. - // - // The default value is true. - IncludeCredit *bool `type:"boolean"` - - // Specifies whether a budget includes discounts. - // - // The default value is true. - IncludeDiscount *bool `type:"boolean"` - - // Specifies whether a budget includes non-RI subscription costs. - // - // The default value is true. - IncludeOtherSubscription *bool `type:"boolean"` - - // Specifies whether a budget includes recurring fees such as monthly RI fees. - // - // The default value is true. - IncludeRecurring *bool `type:"boolean"` - - // Specifies whether a budget includes refunds. - // - // The default value is true. - IncludeRefund *bool `type:"boolean"` - - // Specifies whether a budget includes subscriptions. - // - // The default value is true. - IncludeSubscription *bool `type:"boolean"` - - // Specifies whether a budget includes support subscription fees. - // - // The default value is true. - IncludeSupport *bool `type:"boolean"` +// SetBudgetName sets the BudgetName field's value. +func (s *DeleteBudgetActionInput) SetBudgetName(v string) *DeleteBudgetActionInput { + s.BudgetName = &v + return s +} - // Specifies whether a budget includes taxes. - // - // The default value is true. - IncludeTax *bool `type:"boolean"` +type DeleteBudgetActionOutput struct { + _ struct{} `type:"structure"` - // Specifies whether a budget includes upfront RI costs. + // The account ID of the user. It should be a 12-digit number. // - // The default value is true. - IncludeUpfront *bool `type:"boolean"` + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` - // Specifies whether a budget uses the amortized rate. + // A budget action resource. // - // The default value is false. - UseAmortized *bool `type:"boolean"` + // Action is a required field + Action *Action `type:"structure" required:"true"` - // Specifies whether a budget uses a blended rate. + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. // - // The default value is false. - UseBlended *bool `type:"boolean"` + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CostTypes) String() string { +func (s DeleteBudgetActionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CostTypes) GoString() string { +func (s DeleteBudgetActionOutput) GoString() string { return s.String() } -// SetIncludeCredit sets the IncludeCredit field's value. -func (s *CostTypes) SetIncludeCredit(v bool) *CostTypes { - s.IncludeCredit = &v +// SetAccountId sets the AccountId field's value. +func (s *DeleteBudgetActionOutput) SetAccountId(v string) *DeleteBudgetActionOutput { + s.AccountId = &v return s } -// SetIncludeDiscount sets the IncludeDiscount field's value. -func (s *CostTypes) SetIncludeDiscount(v bool) *CostTypes { - s.IncludeDiscount = &v +// SetAction sets the Action field's value. +func (s *DeleteBudgetActionOutput) SetAction(v *Action) *DeleteBudgetActionOutput { + s.Action = v return s } -// SetIncludeOtherSubscription sets the IncludeOtherSubscription field's value. -func (s *CostTypes) SetIncludeOtherSubscription(v bool) *CostTypes { - s.IncludeOtherSubscription = &v +// SetBudgetName sets the BudgetName field's value. +func (s *DeleteBudgetActionOutput) SetBudgetName(v string) *DeleteBudgetActionOutput { + s.BudgetName = &v return s } -// SetIncludeRecurring sets the IncludeRecurring field's value. -func (s *CostTypes) SetIncludeRecurring(v bool) *CostTypes { - s.IncludeRecurring = &v - return s +// Request of DeleteBudget +type DeleteBudgetInput struct { + _ struct{} `type:"structure"` + + // The accountId that is associated with the budget that you want to delete. + // + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // The name of the budget that you want to delete. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBudgetInput) String() string { + return awsutil.Prettify(s) } -// SetIncludeRefund sets the IncludeRefund field's value. -func (s *CostTypes) SetIncludeRefund(v bool) *CostTypes { - s.IncludeRefund = &v - return s +// GoString returns the string representation +func (s DeleteBudgetInput) GoString() string { + return s.String() } -// SetIncludeSubscription sets the IncludeSubscription field's value. -func (s *CostTypes) SetIncludeSubscription(v bool) *CostTypes { - s.IncludeSubscription = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBudgetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBudgetInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } + if s.BudgetName == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetName")) + } + if s.BudgetName != nil && len(*s.BudgetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetIncludeSupport sets the IncludeSupport field's value. -func (s *CostTypes) SetIncludeSupport(v bool) *CostTypes { - s.IncludeSupport = &v +// SetAccountId sets the AccountId field's value. +func (s *DeleteBudgetInput) SetAccountId(v string) *DeleteBudgetInput { + s.AccountId = &v return s } -// SetIncludeTax sets the IncludeTax field's value. -func (s *CostTypes) SetIncludeTax(v bool) *CostTypes { - s.IncludeTax = &v +// SetBudgetName sets the BudgetName field's value. +func (s *DeleteBudgetInput) SetBudgetName(v string) *DeleteBudgetInput { + s.BudgetName = &v return s } -// SetIncludeUpfront sets the IncludeUpfront field's value. -func (s *CostTypes) SetIncludeUpfront(v bool) *CostTypes { - s.IncludeUpfront = &v - return s +// Response of DeleteBudget +type DeleteBudgetOutput struct { + _ struct{} `type:"structure"` } -// SetUseAmortized sets the UseAmortized field's value. -func (s *CostTypes) SetUseAmortized(v bool) *CostTypes { - s.UseAmortized = &v - return s +// String returns the string representation +func (s DeleteBudgetOutput) String() string { + return awsutil.Prettify(s) } -// SetUseBlended sets the UseBlended field's value. -func (s *CostTypes) SetUseBlended(v bool) *CostTypes { - s.UseBlended = &v - return s +// GoString returns the string representation +func (s DeleteBudgetOutput) GoString() string { + return s.String() } -// Request of CreateBudget -type CreateBudgetInput struct { +// Request of DeleteNotification +type DeleteNotificationInput struct { _ struct{} `type:"structure"` - // The accountId that is associated with the budget. + // The accountId that is associated with the budget whose notification you want + // to delete. // // AccountId is a required field AccountId *string `min:"12" type:"string" required:"true"` - // The budget object that you want to create. + // The name of the budget whose notification you want to delete. // - // Budget is a required field - Budget *Budget `type:"structure" required:"true"` + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` - // A notification that you want to associate with a budget. A budget can have - // up to five notifications, and each notification can have one SNS subscriber - // and up to 10 email subscribers. If you include notifications and subscribers - // in your CreateBudget call, AWS creates the notifications and subscribers - // for you. - NotificationsWithSubscribers []*NotificationWithSubscribers `type:"list"` + // The notification that you want to delete. + // + // Notification is a required field + Notification *Notification `type:"structure" required:"true"` } // String returns the string representation -func (s CreateBudgetInput) String() string { +func (s DeleteNotificationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateBudgetInput) GoString() string { +func (s DeleteNotificationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateBudgetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateBudgetInput"} +func (s *DeleteNotificationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteNotificationInput"} if s.AccountId == nil { invalidParams.Add(request.NewErrParamRequired("AccountId")) } if s.AccountId != nil && len(*s.AccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) } - if s.Budget == nil { - invalidParams.Add(request.NewErrParamRequired("Budget")) + if s.BudgetName == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetName")) } - if s.Budget != nil { - if err := s.Budget.Validate(); err != nil { - invalidParams.AddNested("Budget", err.(request.ErrInvalidParams)) - } + if s.BudgetName != nil && len(*s.BudgetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) } - if s.NotificationsWithSubscribers != nil { - for i, v := range s.NotificationsWithSubscribers { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NotificationsWithSubscribers", i), err.(request.ErrInvalidParams)) - } + if s.Notification == nil { + invalidParams.Add(request.NewErrParamRequired("Notification")) + } + if s.Notification != nil { + if err := s.Notification.Validate(); err != nil { + invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) } } @@ -2223,79 +4281,77 @@ func (s *CreateBudgetInput) Validate() error { } // SetAccountId sets the AccountId field's value. -func (s *CreateBudgetInput) SetAccountId(v string) *CreateBudgetInput { +func (s *DeleteNotificationInput) SetAccountId(v string) *DeleteNotificationInput { s.AccountId = &v return s } -// SetBudget sets the Budget field's value. -func (s *CreateBudgetInput) SetBudget(v *Budget) *CreateBudgetInput { - s.Budget = v +// SetBudgetName sets the BudgetName field's value. +func (s *DeleteNotificationInput) SetBudgetName(v string) *DeleteNotificationInput { + s.BudgetName = &v return s } -// SetNotificationsWithSubscribers sets the NotificationsWithSubscribers field's value. -func (s *CreateBudgetInput) SetNotificationsWithSubscribers(v []*NotificationWithSubscribers) *CreateBudgetInput { - s.NotificationsWithSubscribers = v +// SetNotification sets the Notification field's value. +func (s *DeleteNotificationInput) SetNotification(v *Notification) *DeleteNotificationInput { + s.Notification = v return s } -// Response of CreateBudget -type CreateBudgetOutput struct { +// Response of DeleteNotification +type DeleteNotificationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s CreateBudgetOutput) String() string { +func (s DeleteNotificationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateBudgetOutput) GoString() string { +func (s DeleteNotificationOutput) GoString() string { return s.String() } -// Request of CreateNotification -type CreateNotificationInput struct { +// Request of DeleteSubscriber +type DeleteSubscriberInput struct { _ struct{} `type:"structure"` - // The accountId that is associated with the budget that you want to create - // a notification for. + // The accountId that is associated with the budget whose subscriber you want + // to delete. // // AccountId is a required field AccountId *string `min:"12" type:"string" required:"true"` - // The name of the budget that you want AWS to notify you about. Budget names - // must be unique within an account. + // The name of the budget whose subscriber you want to delete. // // BudgetName is a required field BudgetName *string `min:"1" type:"string" required:"true"` - // The notification that you want to create. + // The notification whose subscriber you want to delete. // // Notification is a required field Notification *Notification `type:"structure" required:"true"` - // A list of subscribers that you want to associate with the notification. Each - // notification can have one SNS subscriber and up to 10 email subscribers. + // The subscriber that you want to delete. // - // Subscribers is a required field - Subscribers []*Subscriber `min:"1" type:"list" required:"true"` + // Subscriber is a required field + Subscriber *Subscriber `type:"structure" required:"true"` } // String returns the string representation -func (s CreateNotificationInput) String() string { +func (s DeleteSubscriberInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateNotificationInput) GoString() string { +func (s DeleteSubscriberInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateNotificationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateNotificationInput"} +func (s *DeleteSubscriberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSubscriberInput"} if s.AccountId == nil { invalidParams.Add(request.NewErrParamRequired("AccountId")) } @@ -2311,25 +4367,17 @@ func (s *CreateNotificationInput) Validate() error { if s.Notification == nil { invalidParams.Add(request.NewErrParamRequired("Notification")) } - if s.Subscribers == nil { - invalidParams.Add(request.NewErrParamRequired("Subscribers")) - } - if s.Subscribers != nil && len(s.Subscribers) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Subscribers", 1)) + if s.Subscriber == nil { + invalidParams.Add(request.NewErrParamRequired("Subscriber")) } if s.Notification != nil { if err := s.Notification.Validate(); err != nil { invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) } } - if s.Subscribers != nil { - for i, v := range s.Subscribers { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) - } + if s.Subscriber != nil { + if err := s.Subscriber.Validate(); err != nil { + invalidParams.AddNested("Subscriber", err.(request.ErrInvalidParams)) } } @@ -2340,111 +4388,109 @@ func (s *CreateNotificationInput) Validate() error { } // SetAccountId sets the AccountId field's value. -func (s *CreateNotificationInput) SetAccountId(v string) *CreateNotificationInput { +func (s *DeleteSubscriberInput) SetAccountId(v string) *DeleteSubscriberInput { s.AccountId = &v return s } // SetBudgetName sets the BudgetName field's value. -func (s *CreateNotificationInput) SetBudgetName(v string) *CreateNotificationInput { +func (s *DeleteSubscriberInput) SetBudgetName(v string) *DeleteSubscriberInput { s.BudgetName = &v return s } // SetNotification sets the Notification field's value. -func (s *CreateNotificationInput) SetNotification(v *Notification) *CreateNotificationInput { +func (s *DeleteSubscriberInput) SetNotification(v *Notification) *DeleteSubscriberInput { s.Notification = v return s } -// SetSubscribers sets the Subscribers field's value. -func (s *CreateNotificationInput) SetSubscribers(v []*Subscriber) *CreateNotificationInput { - s.Subscribers = v +// SetSubscriber sets the Subscriber field's value. +func (s *DeleteSubscriberInput) SetSubscriber(v *Subscriber) *DeleteSubscriberInput { + s.Subscriber = v return s } -// Response of CreateNotification -type CreateNotificationOutput struct { +// Response of DeleteSubscriber +type DeleteSubscriberOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s CreateNotificationOutput) String() string { +func (s DeleteSubscriberOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateNotificationOutput) GoString() string { +func (s DeleteSubscriberOutput) GoString() string { return s.String() } -// Request of CreateSubscriber -type CreateSubscriberInput struct { +type DescribeBudgetActionHistoriesInput struct { _ struct{} `type:"structure"` - // The accountId that is associated with the budget that you want to create - // a subscriber for. + // The account ID of the user. It should be a 12-digit number. // // AccountId is a required field AccountId *string `min:"12" type:"string" required:"true"` - // The name of the budget that you want to subscribe to. Budget names must be - // unique within an account. + // A system-generated universally unique identifier (UUID) for the action. + // + // ActionId is a required field + ActionId *string `min:"36" type:"string" required:"true"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. // // BudgetName is a required field BudgetName *string `min:"1" type:"string" required:"true"` - // The notification that you want to create a subscriber for. - // - // Notification is a required field - Notification *Notification `type:"structure" required:"true"` + // An integer that represents how many entries a paginated response contains. + // The maximum is 100. + MaxResults *int64 `min:"1" type:"integer"` - // The subscriber that you want to associate with a budget notification. - // - // Subscriber is a required field - Subscriber *Subscriber `type:"structure" required:"true"` + // A generic string. + NextToken *string `type:"string"` + + // The period of time that is covered by a budget. The period has a start date + // and an end date. The start date must come before the end date. There are + // no restrictions on the end date. + TimePeriod *TimePeriod `type:"structure"` } // String returns the string representation -func (s CreateSubscriberInput) String() string { +func (s DescribeBudgetActionHistoriesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateSubscriberInput) GoString() string { +func (s DescribeBudgetActionHistoriesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSubscriberInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSubscriberInput"} +func (s *DescribeBudgetActionHistoriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetActionHistoriesInput"} if s.AccountId == nil { invalidParams.Add(request.NewErrParamRequired("AccountId")) } if s.AccountId != nil && len(*s.AccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) } - if s.BudgetName == nil { - invalidParams.Add(request.NewErrParamRequired("BudgetName")) - } - if s.BudgetName != nil && len(*s.BudgetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) + if s.ActionId == nil { + invalidParams.Add(request.NewErrParamRequired("ActionId")) } - if s.Notification == nil { - invalidParams.Add(request.NewErrParamRequired("Notification")) + if s.ActionId != nil && len(*s.ActionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) } - if s.Subscriber == nil { - invalidParams.Add(request.NewErrParamRequired("Subscriber")) + if s.BudgetName == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetName")) } - if s.Notification != nil { - if err := s.Notification.Validate(); err != nil { - invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) - } + if s.BudgetName != nil && len(*s.BudgetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) } - if s.Subscriber != nil { - if err := s.Subscriber.Validate(); err != nil { - invalidParams.AddNested("Subscriber", err.(request.ErrInvalidParams)) - } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -2454,135 +4500,120 @@ func (s *CreateSubscriberInput) Validate() error { } // SetAccountId sets the AccountId field's value. -func (s *CreateSubscriberInput) SetAccountId(v string) *CreateSubscriberInput { +func (s *DescribeBudgetActionHistoriesInput) SetAccountId(v string) *DescribeBudgetActionHistoriesInput { s.AccountId = &v return s } -// SetBudgetName sets the BudgetName field's value. -func (s *CreateSubscriberInput) SetBudgetName(v string) *CreateSubscriberInput { - s.BudgetName = &v +// SetActionId sets the ActionId field's value. +func (s *DescribeBudgetActionHistoriesInput) SetActionId(v string) *DescribeBudgetActionHistoriesInput { + s.ActionId = &v return s } -// SetNotification sets the Notification field's value. -func (s *CreateSubscriberInput) SetNotification(v *Notification) *CreateSubscriberInput { - s.Notification = v +// SetBudgetName sets the BudgetName field's value. +func (s *DescribeBudgetActionHistoriesInput) SetBudgetName(v string) *DescribeBudgetActionHistoriesInput { + s.BudgetName = &v return s } -// SetSubscriber sets the Subscriber field's value. -func (s *CreateSubscriberInput) SetSubscriber(v *Subscriber) *CreateSubscriberInput { - s.Subscriber = v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeBudgetActionHistoriesInput) SetMaxResults(v int64) *DescribeBudgetActionHistoriesInput { + s.MaxResults = &v return s } -// Response of CreateSubscriber -type CreateSubscriberOutput struct { - _ struct{} `type:"structure"` +// SetNextToken sets the NextToken field's value. +func (s *DescribeBudgetActionHistoriesInput) SetNextToken(v string) *DescribeBudgetActionHistoriesInput { + s.NextToken = &v + return s } -// String returns the string representation -func (s CreateSubscriberOutput) String() string { - return awsutil.Prettify(s) +// SetTimePeriod sets the TimePeriod field's value. +func (s *DescribeBudgetActionHistoriesInput) SetTimePeriod(v *TimePeriod) *DescribeBudgetActionHistoriesInput { + s.TimePeriod = v + return s } -// GoString returns the string representation -func (s CreateSubscriberOutput) GoString() string { - return s.String() -} +type DescribeBudgetActionHistoriesOutput struct { + _ struct{} `type:"structure"` -// You've exceeded the notification or subscriber limit. -type CreationLimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The historical record of the budget action resource. + // + // ActionHistories is a required field + ActionHistories []*ActionHistory `type:"list" required:"true"` - // The error message the exception carries. - Message_ *string `locationName:"Message" type:"string"` + // A generic string. + NextToken *string `type:"string"` } // String returns the string representation -func (s CreationLimitExceededException) String() string { +func (s DescribeBudgetActionHistoriesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreationLimitExceededException) GoString() string { +func (s DescribeBudgetActionHistoriesOutput) GoString() string { return s.String() } -func newErrorCreationLimitExceededException(v protocol.ResponseMetadata) error { - return &CreationLimitExceededException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *CreationLimitExceededException) Code() string { - return "CreationLimitExceededException" -} - -// Message returns the exception's message. -func (s *CreationLimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *CreationLimitExceededException) OrigErr() error { - return nil -} - -func (s *CreationLimitExceededException) 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 *CreationLimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetActionHistories sets the ActionHistories field's value. +func (s *DescribeBudgetActionHistoriesOutput) SetActionHistories(v []*ActionHistory) *DescribeBudgetActionHistoriesOutput { + s.ActionHistories = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *CreationLimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *DescribeBudgetActionHistoriesOutput) SetNextToken(v string) *DescribeBudgetActionHistoriesOutput { + s.NextToken = &v + return s } -// Request of DeleteBudget -type DeleteBudgetInput struct { +type DescribeBudgetActionInput struct { _ struct{} `type:"structure"` - // The accountId that is associated with the budget that you want to delete. + // The account ID of the user. It should be a 12-digit number. // // AccountId is a required field AccountId *string `min:"12" type:"string" required:"true"` - // The name of the budget that you want to delete. + // A system-generated universally unique identifier (UUID) for the action. + // + // ActionId is a required field + ActionId *string `min:"36" type:"string" required:"true"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. // // BudgetName is a required field BudgetName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteBudgetInput) String() string { +func (s DescribeBudgetActionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteBudgetInput) GoString() string { +func (s DescribeBudgetActionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteBudgetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteBudgetInput"} +func (s *DescribeBudgetActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetActionInput"} if s.AccountId == nil { invalidParams.Add(request.NewErrParamRequired("AccountId")) } if s.AccountId != nil && len(*s.AccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) } + if s.ActionId == nil { + invalidParams.Add(request.NewErrParamRequired("ActionId")) + } + if s.ActionId != nil && len(*s.ActionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) + } if s.BudgetName == nil { invalidParams.Add(request.NewErrParamRequired("BudgetName")) } @@ -2597,85 +4628,108 @@ func (s *DeleteBudgetInput) Validate() error { } // SetAccountId sets the AccountId field's value. -func (s *DeleteBudgetInput) SetAccountId(v string) *DeleteBudgetInput { +func (s *DescribeBudgetActionInput) SetAccountId(v string) *DescribeBudgetActionInput { s.AccountId = &v return s } +// SetActionId sets the ActionId field's value. +func (s *DescribeBudgetActionInput) SetActionId(v string) *DescribeBudgetActionInput { + s.ActionId = &v + return s +} + // SetBudgetName sets the BudgetName field's value. -func (s *DeleteBudgetInput) SetBudgetName(v string) *DeleteBudgetInput { +func (s *DescribeBudgetActionInput) SetBudgetName(v string) *DescribeBudgetActionInput { s.BudgetName = &v return s } -// Response of DeleteBudget -type DeleteBudgetOutput struct { +type DescribeBudgetActionOutput struct { _ struct{} `type:"structure"` + + // The account ID of the user. It should be a 12-digit number. + // + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // A budget action resource. + // + // Action is a required field + Action *Action `type:"structure" required:"true"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteBudgetOutput) String() string { +func (s DescribeBudgetActionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteBudgetOutput) GoString() string { +func (s DescribeBudgetActionOutput) GoString() string { return s.String() } -// Request of DeleteNotification -type DeleteNotificationInput struct { +// SetAccountId sets the AccountId field's value. +func (s *DescribeBudgetActionOutput) SetAccountId(v string) *DescribeBudgetActionOutput { + s.AccountId = &v + return s +} + +// SetAction sets the Action field's value. +func (s *DescribeBudgetActionOutput) SetAction(v *Action) *DescribeBudgetActionOutput { + s.Action = v + return s +} + +// SetBudgetName sets the BudgetName field's value. +func (s *DescribeBudgetActionOutput) SetBudgetName(v string) *DescribeBudgetActionOutput { + s.BudgetName = &v + return s +} + +type DescribeBudgetActionsForAccountInput struct { _ struct{} `type:"structure"` - // The accountId that is associated with the budget whose notification you want - // to delete. + // The account ID of the user. It should be a 12-digit number. // // AccountId is a required field AccountId *string `min:"12" type:"string" required:"true"` - // The name of the budget whose notification you want to delete. - // - // BudgetName is a required field - BudgetName *string `min:"1" type:"string" required:"true"` + // An integer that represents how many entries a paginated response contains. + // The maximum is 100. + MaxResults *int64 `min:"1" type:"integer"` - // The notification that you want to delete. - // - // Notification is a required field - Notification *Notification `type:"structure" required:"true"` + // A generic string. + NextToken *string `type:"string"` } // String returns the string representation -func (s DeleteNotificationInput) String() string { +func (s DescribeBudgetActionsForAccountInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteNotificationInput) GoString() string { +func (s DescribeBudgetActionsForAccountInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteNotificationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteNotificationInput"} +func (s *DescribeBudgetActionsForAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetActionsForAccountInput"} if s.AccountId == nil { invalidParams.Add(request.NewErrParamRequired("AccountId")) } if s.AccountId != nil && len(*s.AccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) } - if s.BudgetName == nil { - invalidParams.Add(request.NewErrParamRequired("BudgetName")) - } - if s.BudgetName != nil && len(*s.BudgetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) - } - if s.Notification == nil { - invalidParams.Add(request.NewErrParamRequired("Notification")) - } - if s.Notification != nil { - if err := s.Notification.Validate(); err != nil { - invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) - } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -2685,77 +4739,92 @@ func (s *DeleteNotificationInput) Validate() error { } // SetAccountId sets the AccountId field's value. -func (s *DeleteNotificationInput) SetAccountId(v string) *DeleteNotificationInput { +func (s *DescribeBudgetActionsForAccountInput) SetAccountId(v string) *DescribeBudgetActionsForAccountInput { s.AccountId = &v return s } -// SetBudgetName sets the BudgetName field's value. -func (s *DeleteNotificationInput) SetBudgetName(v string) *DeleteNotificationInput { - s.BudgetName = &v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeBudgetActionsForAccountInput) SetMaxResults(v int64) *DescribeBudgetActionsForAccountInput { + s.MaxResults = &v return s } -// SetNotification sets the Notification field's value. -func (s *DeleteNotificationInput) SetNotification(v *Notification) *DeleteNotificationInput { - s.Notification = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeBudgetActionsForAccountInput) SetNextToken(v string) *DescribeBudgetActionsForAccountInput { + s.NextToken = &v return s } -// Response of DeleteNotification -type DeleteNotificationOutput struct { +type DescribeBudgetActionsForAccountOutput struct { _ struct{} `type:"structure"` + + // A list of the budget action resources information. + // + // Actions is a required field + Actions []*Action `type:"list" required:"true"` + + // A generic string. + NextToken *string `type:"string"` } // String returns the string representation -func (s DeleteNotificationOutput) String() string { +func (s DescribeBudgetActionsForAccountOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteNotificationOutput) GoString() string { +func (s DescribeBudgetActionsForAccountOutput) GoString() string { return s.String() } -// Request of DeleteSubscriber -type DeleteSubscriberInput struct { +// SetActions sets the Actions field's value. +func (s *DescribeBudgetActionsForAccountOutput) SetActions(v []*Action) *DescribeBudgetActionsForAccountOutput { + s.Actions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeBudgetActionsForAccountOutput) SetNextToken(v string) *DescribeBudgetActionsForAccountOutput { + s.NextToken = &v + return s +} + +type DescribeBudgetActionsForBudgetInput struct { _ struct{} `type:"structure"` - // The accountId that is associated with the budget whose subscriber you want - // to delete. + // The account ID of the user. It should be a 12-digit number. // // AccountId is a required field AccountId *string `min:"12" type:"string" required:"true"` - // The name of the budget whose subscriber you want to delete. + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. // // BudgetName is a required field BudgetName *string `min:"1" type:"string" required:"true"` - // The notification whose subscriber you want to delete. - // - // Notification is a required field - Notification *Notification `type:"structure" required:"true"` + // An integer that represents how many entries a paginated response contains. + // The maximum is 100. + MaxResults *int64 `min:"1" type:"integer"` - // The subscriber that you want to delete. - // - // Subscriber is a required field - Subscriber *Subscriber `type:"structure" required:"true"` + // A generic string. + NextToken *string `type:"string"` } // String returns the string representation -func (s DeleteSubscriberInput) String() string { +func (s DescribeBudgetActionsForBudgetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSubscriberInput) GoString() string { +func (s DescribeBudgetActionsForBudgetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSubscriberInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSubscriberInput"} +func (s *DescribeBudgetActionsForBudgetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBudgetActionsForBudgetInput"} if s.AccountId == nil { invalidParams.Add(request.NewErrParamRequired("AccountId")) } @@ -2768,21 +4837,8 @@ func (s *DeleteSubscriberInput) Validate() error { if s.BudgetName != nil && len(*s.BudgetName) < 1 { invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) } - if s.Notification == nil { - invalidParams.Add(request.NewErrParamRequired("Notification")) - } - if s.Subscriber == nil { - invalidParams.Add(request.NewErrParamRequired("Subscriber")) - } - if s.Notification != nil { - if err := s.Notification.Validate(); err != nil { - invalidParams.AddNested("Notification", err.(request.ErrInvalidParams)) - } - } - if s.Subscriber != nil { - if err := s.Subscriber.Validate(); err != nil { - invalidParams.AddNested("Subscriber", err.(request.ErrInvalidParams)) - } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -2792,44 +4848,63 @@ func (s *DeleteSubscriberInput) Validate() error { } // SetAccountId sets the AccountId field's value. -func (s *DeleteSubscriberInput) SetAccountId(v string) *DeleteSubscriberInput { +func (s *DescribeBudgetActionsForBudgetInput) SetAccountId(v string) *DescribeBudgetActionsForBudgetInput { s.AccountId = &v return s } // SetBudgetName sets the BudgetName field's value. -func (s *DeleteSubscriberInput) SetBudgetName(v string) *DeleteSubscriberInput { +func (s *DescribeBudgetActionsForBudgetInput) SetBudgetName(v string) *DescribeBudgetActionsForBudgetInput { s.BudgetName = &v return s -} - -// SetNotification sets the Notification field's value. -func (s *DeleteSubscriberInput) SetNotification(v *Notification) *DeleteSubscriberInput { - s.Notification = v +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeBudgetActionsForBudgetInput) SetMaxResults(v int64) *DescribeBudgetActionsForBudgetInput { + s.MaxResults = &v return s } -// SetSubscriber sets the Subscriber field's value. -func (s *DeleteSubscriberInput) SetSubscriber(v *Subscriber) *DeleteSubscriberInput { - s.Subscriber = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeBudgetActionsForBudgetInput) SetNextToken(v string) *DescribeBudgetActionsForBudgetInput { + s.NextToken = &v return s } -// Response of DeleteSubscriber -type DeleteSubscriberOutput struct { +type DescribeBudgetActionsForBudgetOutput struct { _ struct{} `type:"structure"` + + // A list of the budget action resources information. + // + // Actions is a required field + Actions []*Action `type:"list" required:"true"` + + // A generic string. + NextToken *string `type:"string"` } // String returns the string representation -func (s DeleteSubscriberOutput) String() string { +func (s DescribeBudgetActionsForBudgetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSubscriberOutput) GoString() string { +func (s DescribeBudgetActionsForBudgetOutput) GoString() string { return s.String() } +// SetActions sets the Actions field's value. +func (s *DescribeBudgetActionsForBudgetOutput) SetActions(v []*Action) *DescribeBudgetActionsForBudgetOutput { + s.Actions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeBudgetActionsForBudgetOutput) SetNextToken(v string) *DescribeBudgetActionsForBudgetOutput { + s.NextToken = &v + return s +} + // Request of DescribeBudget type DescribeBudgetInput struct { _ struct{} `type:"structure"` @@ -3452,6 +5527,155 @@ func (s *DuplicateRecordException) RequestID() string { return s.RespMetadata.RequestID } +type ExecuteBudgetActionInput struct { + _ struct{} `type:"structure"` + + // The account ID of the user. It should be a 12-digit number. + // + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // A system-generated universally unique identifier (UUID) for the action. + // + // ActionId is a required field + ActionId *string `min:"36" type:"string" required:"true"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` + + // The type of execution. + // + // ExecutionType is a required field + ExecutionType *string `type:"string" required:"true" enum:"ExecutionType"` +} + +// String returns the string representation +func (s ExecuteBudgetActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExecuteBudgetActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExecuteBudgetActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExecuteBudgetActionInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } + if s.ActionId == nil { + invalidParams.Add(request.NewErrParamRequired("ActionId")) + } + if s.ActionId != nil && len(*s.ActionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) + } + if s.BudgetName == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetName")) + } + if s.BudgetName != nil && len(*s.BudgetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) + } + if s.ExecutionType == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *ExecuteBudgetActionInput) SetAccountId(v string) *ExecuteBudgetActionInput { + s.AccountId = &v + return s +} + +// SetActionId sets the ActionId field's value. +func (s *ExecuteBudgetActionInput) SetActionId(v string) *ExecuteBudgetActionInput { + s.ActionId = &v + return s +} + +// SetBudgetName sets the BudgetName field's value. +func (s *ExecuteBudgetActionInput) SetBudgetName(v string) *ExecuteBudgetActionInput { + s.BudgetName = &v + return s +} + +// SetExecutionType sets the ExecutionType field's value. +func (s *ExecuteBudgetActionInput) SetExecutionType(v string) *ExecuteBudgetActionInput { + s.ExecutionType = &v + return s +} + +type ExecuteBudgetActionOutput struct { + _ struct{} `type:"structure"` + + // The account ID of the user. It should be a 12-digit number. + // + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // A system-generated universally unique identifier (UUID) for the action. + // + // ActionId is a required field + ActionId *string `min:"36" type:"string" required:"true"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` + + // The type of execution. + // + // ExecutionType is a required field + ExecutionType *string `type:"string" required:"true" enum:"ExecutionType"` +} + +// String returns the string representation +func (s ExecuteBudgetActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExecuteBudgetActionOutput) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *ExecuteBudgetActionOutput) SetAccountId(v string) *ExecuteBudgetActionOutput { + s.AccountId = &v + return s +} + +// SetActionId sets the ActionId field's value. +func (s *ExecuteBudgetActionOutput) SetActionId(v string) *ExecuteBudgetActionOutput { + s.ActionId = &v + return s +} + +// SetBudgetName sets the BudgetName field's value. +func (s *ExecuteBudgetActionOutput) SetBudgetName(v string) *ExecuteBudgetActionOutput { + s.BudgetName = &v + return s +} + +// SetExecutionType sets the ExecutionType field's value. +func (s *ExecuteBudgetActionOutput) SetExecutionType(v string) *ExecuteBudgetActionOutput { + s.ExecutionType = &v + return s +} + // The pagination token expired. type ExpiredNextTokenException struct { _ struct{} `type:"structure"` @@ -3509,6 +5733,84 @@ func (s *ExpiredNextTokenException) RequestID() string { return s.RespMetadata.RequestID } +// The AWS Identity and Access Management (IAM) action definition details. +type IamActionDefinition struct { + _ struct{} `type:"structure"` + + // A list of groups to be attached. There must be at least one group. + Groups []*string `min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the policy to be attached. + // + // PolicyArn is a required field + PolicyArn *string `min:"25" type:"string" required:"true"` + + // A list of roles to be attached. There must be at least one role. + Roles []*string `min:"1" type:"list"` + + // A list of users to be attached. There must be at least one user. + Users []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s IamActionDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IamActionDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IamActionDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IamActionDefinition"} + if s.Groups != nil && len(s.Groups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Groups", 1)) + } + if s.PolicyArn == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyArn")) + } + if s.PolicyArn != nil && len(*s.PolicyArn) < 25 { + invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 25)) + } + if s.Roles != nil && len(s.Roles) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Roles", 1)) + } + if s.Users != nil && len(s.Users) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Users", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroups sets the Groups field's value. +func (s *IamActionDefinition) SetGroups(v []*string) *IamActionDefinition { + s.Groups = v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *IamActionDefinition) SetPolicyArn(v string) *IamActionDefinition { + s.PolicyArn = &v + return s +} + +// SetRoles sets the Roles field's value. +func (s *IamActionDefinition) SetRoles(v []*string) *IamActionDefinition { + s.Roles = v + return s +} + +// SetUsers sets the Users field's value. +func (s *IamActionDefinition) SetUsers(v []*string) *IamActionDefinition { + s.Users = v + return s +} + // An error on the server occurred during the processing of your request. Try // again later. type InternalErrorException struct { @@ -3909,15 +6211,132 @@ func (s *NotificationWithSubscribers) Validate() error { return nil } -// SetNotification sets the Notification field's value. -func (s *NotificationWithSubscribers) SetNotification(v *Notification) *NotificationWithSubscribers { - s.Notification = v +// SetNotification sets the Notification field's value. +func (s *NotificationWithSubscribers) SetNotification(v *Notification) *NotificationWithSubscribers { + s.Notification = v + return s +} + +// SetSubscribers sets the Subscribers field's value. +func (s *NotificationWithSubscribers) SetSubscribers(v []*Subscriber) *NotificationWithSubscribers { + s.Subscribers = v + return s +} + +// The request was received and recognized by the server, but the server rejected +// that particular method for the requested resource. +type ResourceLockedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The error message the exception carries. + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ResourceLockedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceLockedException) GoString() string { + return s.String() +} + +func newErrorResourceLockedException(v protocol.ResponseMetadata) error { + return &ResourceLockedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceLockedException) Code() string { + return "ResourceLockedException" +} + +// Message returns the exception's message. +func (s *ResourceLockedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceLockedException) OrigErr() error { + return nil +} + +func (s *ResourceLockedException) 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 *ResourceLockedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceLockedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The service control policies (SCP) action definition details. +type ScpActionDefinition struct { + _ struct{} `type:"structure"` + + // The policy ID attached. + // + // PolicyId is a required field + PolicyId *string `min:"10" type:"string" required:"true"` + + // A list of target IDs. + // + // TargetIds is a required field + TargetIds []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s ScpActionDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScpActionDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScpActionDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScpActionDefinition"} + if s.PolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyId")) + } + if s.PolicyId != nil && len(*s.PolicyId) < 10 { + invalidParams.Add(request.NewErrParamMinLen("PolicyId", 10)) + } + if s.TargetIds == nil { + invalidParams.Add(request.NewErrParamRequired("TargetIds")) + } + if s.TargetIds != nil && len(s.TargetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPolicyId sets the PolicyId field's value. +func (s *ScpActionDefinition) SetPolicyId(v string) *ScpActionDefinition { + s.PolicyId = &v return s } -// SetSubscribers sets the Subscribers field's value. -func (s *NotificationWithSubscribers) SetSubscribers(v []*Subscriber) *NotificationWithSubscribers { - s.Subscribers = v +// SetTargetIds sets the TargetIds field's value. +func (s *ScpActionDefinition) SetTargetIds(v []*string) *ScpActionDefinition { + s.TargetIds = v return s } @@ -3988,6 +6407,79 @@ func (s *Spend) SetUnit(v string) *Spend { return s } +// The AWS Systems Manager (SSM) action definition details. +type SsmActionDefinition struct { + _ struct{} `type:"structure"` + + // The action subType. + // + // ActionSubType is a required field + ActionSubType *string `type:"string" required:"true" enum:"ActionSubType"` + + // The EC2 and RDS instance IDs. + // + // InstanceIds is a required field + InstanceIds []*string `min:"1" type:"list" required:"true"` + + // The Region to run the SSM document. + // + // Region is a required field + Region *string `min:"9" type:"string" required:"true"` +} + +// String returns the string representation +func (s SsmActionDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SsmActionDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SsmActionDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SsmActionDefinition"} + if s.ActionSubType == nil { + invalidParams.Add(request.NewErrParamRequired("ActionSubType")) + } + if s.InstanceIds == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceIds")) + } + if s.InstanceIds != nil && len(s.InstanceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1)) + } + if s.Region == nil { + invalidParams.Add(request.NewErrParamRequired("Region")) + } + if s.Region != nil && len(*s.Region) < 9 { + invalidParams.Add(request.NewErrParamMinLen("Region", 9)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionSubType sets the ActionSubType field's value. +func (s *SsmActionDefinition) SetActionSubType(v string) *SsmActionDefinition { + s.ActionSubType = &v + return s +} + +// SetInstanceIds sets the InstanceIds field's value. +func (s *SsmActionDefinition) SetInstanceIds(v []*string) *SsmActionDefinition { + s.InstanceIds = v + return s +} + +// SetRegion sets the Region field's value. +func (s *SsmActionDefinition) SetRegion(v string) *SsmActionDefinition { + s.Region = &v + return s +} + // The subscriber to a budget notification. The subscriber consists of a subscription // type and either an Amazon SNS topic or an email address. // @@ -4102,6 +6594,222 @@ func (s *TimePeriod) SetStart(v time.Time) *TimePeriod { return s } +type UpdateBudgetActionInput struct { + _ struct{} `type:"structure"` + + // The account ID of the user. It should be a 12-digit number. + // + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // A system-generated universally unique identifier (UUID) for the action. + // + // ActionId is a required field + ActionId *string `min:"36" type:"string" required:"true"` + + // The trigger threshold of the action. + ActionThreshold *ActionThreshold `type:"structure"` + + // This specifies if the action needs manual or automatic approval. + ApprovalModel *string `type:"string" enum:"ApprovalModel"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` + + // Specifies all of the type-specific parameters. + Definition *Definition `type:"structure"` + + // The role passed for action execution and reversion. Roles and actions must + // be in the same account. + ExecutionRoleArn *string `min:"32" type:"string"` + + // The type of a notification. It must be ACTUAL or FORECASTED. + NotificationType *string `type:"string" enum:"NotificationType"` + + // A list of subscribers. + Subscribers []*Subscriber `min:"1" type:"list"` +} + +// String returns the string representation +func (s UpdateBudgetActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBudgetActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateBudgetActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateBudgetActionInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } + if s.ActionId == nil { + invalidParams.Add(request.NewErrParamRequired("ActionId")) + } + if s.ActionId != nil && len(*s.ActionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ActionId", 36)) + } + if s.BudgetName == nil { + invalidParams.Add(request.NewErrParamRequired("BudgetName")) + } + if s.BudgetName != nil && len(*s.BudgetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BudgetName", 1)) + } + if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 32)) + } + if s.Subscribers != nil && len(s.Subscribers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Subscribers", 1)) + } + if s.ActionThreshold != nil { + if err := s.ActionThreshold.Validate(); err != nil { + invalidParams.AddNested("ActionThreshold", err.(request.ErrInvalidParams)) + } + } + if s.Definition != nil { + if err := s.Definition.Validate(); err != nil { + invalidParams.AddNested("Definition", err.(request.ErrInvalidParams)) + } + } + if s.Subscribers != nil { + for i, v := range s.Subscribers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscribers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *UpdateBudgetActionInput) SetAccountId(v string) *UpdateBudgetActionInput { + s.AccountId = &v + return s +} + +// SetActionId sets the ActionId field's value. +func (s *UpdateBudgetActionInput) SetActionId(v string) *UpdateBudgetActionInput { + s.ActionId = &v + return s +} + +// SetActionThreshold sets the ActionThreshold field's value. +func (s *UpdateBudgetActionInput) SetActionThreshold(v *ActionThreshold) *UpdateBudgetActionInput { + s.ActionThreshold = v + return s +} + +// SetApprovalModel sets the ApprovalModel field's value. +func (s *UpdateBudgetActionInput) SetApprovalModel(v string) *UpdateBudgetActionInput { + s.ApprovalModel = &v + return s +} + +// SetBudgetName sets the BudgetName field's value. +func (s *UpdateBudgetActionInput) SetBudgetName(v string) *UpdateBudgetActionInput { + s.BudgetName = &v + return s +} + +// SetDefinition sets the Definition field's value. +func (s *UpdateBudgetActionInput) SetDefinition(v *Definition) *UpdateBudgetActionInput { + s.Definition = v + return s +} + +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *UpdateBudgetActionInput) SetExecutionRoleArn(v string) *UpdateBudgetActionInput { + s.ExecutionRoleArn = &v + return s +} + +// SetNotificationType sets the NotificationType field's value. +func (s *UpdateBudgetActionInput) SetNotificationType(v string) *UpdateBudgetActionInput { + s.NotificationType = &v + return s +} + +// SetSubscribers sets the Subscribers field's value. +func (s *UpdateBudgetActionInput) SetSubscribers(v []*Subscriber) *UpdateBudgetActionInput { + s.Subscribers = v + return s +} + +type UpdateBudgetActionOutput struct { + _ struct{} `type:"structure"` + + // The account ID of the user. It should be a 12-digit number. + // + // AccountId is a required field + AccountId *string `min:"12" type:"string" required:"true"` + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. + // + // BudgetName is a required field + BudgetName *string `min:"1" type:"string" required:"true"` + + // The updated action resource information. + // + // NewAction is a required field + NewAction *Action `type:"structure" required:"true"` + + // The previous action resource information. + // + // OldAction is a required field + OldAction *Action `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateBudgetActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBudgetActionOutput) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *UpdateBudgetActionOutput) SetAccountId(v string) *UpdateBudgetActionOutput { + s.AccountId = &v + return s +} + +// SetBudgetName sets the BudgetName field's value. +func (s *UpdateBudgetActionOutput) SetBudgetName(v string) *UpdateBudgetActionOutput { + s.BudgetName = &v + return s +} + +// SetNewAction sets the NewAction field's value. +func (s *UpdateBudgetActionOutput) SetNewAction(v *Action) *UpdateBudgetActionOutput { + s.NewAction = v + return s +} + +// SetOldAction sets the OldAction field's value. +func (s *UpdateBudgetActionOutput) SetOldAction(v *Action) *UpdateBudgetActionOutput { + s.OldAction = v + return s +} + // Request of UpdateBudget type UpdateBudgetInput struct { _ struct{} `type:"structure"` @@ -4423,6 +7131,106 @@ func (s UpdateSubscriberOutput) GoString() string { return s.String() } +const ( + // ActionStatusStandby is a ActionStatus enum value + ActionStatusStandby = "STANDBY" + + // ActionStatusPending is a ActionStatus enum value + ActionStatusPending = "PENDING" + + // ActionStatusExecutionInProgress is a ActionStatus enum value + ActionStatusExecutionInProgress = "EXECUTION_IN_PROGRESS" + + // ActionStatusExecutionSuccess is a ActionStatus enum value + ActionStatusExecutionSuccess = "EXECUTION_SUCCESS" + + // ActionStatusExecutionFailure is a ActionStatus enum value + ActionStatusExecutionFailure = "EXECUTION_FAILURE" + + // ActionStatusReverseInProgress is a ActionStatus enum value + ActionStatusReverseInProgress = "REVERSE_IN_PROGRESS" + + // ActionStatusReverseSuccess is a ActionStatus enum value + ActionStatusReverseSuccess = "REVERSE_SUCCESS" + + // ActionStatusReverseFailure is a ActionStatus enum value + ActionStatusReverseFailure = "REVERSE_FAILURE" + + // ActionStatusResetInProgress is a ActionStatus enum value + ActionStatusResetInProgress = "RESET_IN_PROGRESS" + + // ActionStatusResetFailure is a ActionStatus enum value + ActionStatusResetFailure = "RESET_FAILURE" +) + +// ActionStatus_Values returns all elements of the ActionStatus enum +func ActionStatus_Values() []string { + return []string{ + ActionStatusStandby, + ActionStatusPending, + ActionStatusExecutionInProgress, + ActionStatusExecutionSuccess, + ActionStatusExecutionFailure, + ActionStatusReverseInProgress, + ActionStatusReverseSuccess, + ActionStatusReverseFailure, + ActionStatusResetInProgress, + ActionStatusResetFailure, + } +} + +const ( + // ActionSubTypeStopEc2Instances is a ActionSubType enum value + ActionSubTypeStopEc2Instances = "STOP_EC2_INSTANCES" + + // ActionSubTypeStopRdsInstances is a ActionSubType enum value + ActionSubTypeStopRdsInstances = "STOP_RDS_INSTANCES" +) + +// ActionSubType_Values returns all elements of the ActionSubType enum +func ActionSubType_Values() []string { + return []string{ + ActionSubTypeStopEc2Instances, + ActionSubTypeStopRdsInstances, + } +} + +const ( + // ActionTypeApplyIamPolicy is a ActionType enum value + ActionTypeApplyIamPolicy = "APPLY_IAM_POLICY" + + // ActionTypeApplyScpPolicy is a ActionType enum value + ActionTypeApplyScpPolicy = "APPLY_SCP_POLICY" + + // ActionTypeRunSsmDocuments is a ActionType enum value + ActionTypeRunSsmDocuments = "RUN_SSM_DOCUMENTS" +) + +// ActionType_Values returns all elements of the ActionType enum +func ActionType_Values() []string { + return []string{ + ActionTypeApplyIamPolicy, + ActionTypeApplyScpPolicy, + ActionTypeRunSsmDocuments, + } +} + +const ( + // ApprovalModelAutomatic is a ApprovalModel enum value + ApprovalModelAutomatic = "AUTOMATIC" + + // ApprovalModelManual is a ApprovalModel enum value + ApprovalModelManual = "MANUAL" +) + +// ApprovalModel_Values returns all elements of the ApprovalModel enum +func ApprovalModel_Values() []string { + return []string{ + ApprovalModelAutomatic, + ApprovalModelManual, + } +} + // The type of a budget. It must be one of the following types: // // COST, USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, or SAVINGS_PLANS_COVERAGE. @@ -4482,6 +7290,58 @@ func ComparisonOperator_Values() []string { } } +const ( + // EventTypeSystem is a EventType enum value + EventTypeSystem = "SYSTEM" + + // EventTypeCreateAction is a EventType enum value + EventTypeCreateAction = "CREATE_ACTION" + + // EventTypeDeleteAction is a EventType enum value + EventTypeDeleteAction = "DELETE_ACTION" + + // EventTypeUpdateAction is a EventType enum value + EventTypeUpdateAction = "UPDATE_ACTION" + + // EventTypeExecuteAction is a EventType enum value + EventTypeExecuteAction = "EXECUTE_ACTION" +) + +// EventType_Values returns all elements of the EventType enum +func EventType_Values() []string { + return []string{ + EventTypeSystem, + EventTypeCreateAction, + EventTypeDeleteAction, + EventTypeUpdateAction, + EventTypeExecuteAction, + } +} + +const ( + // ExecutionTypeApproveBudgetAction is a ExecutionType enum value + ExecutionTypeApproveBudgetAction = "APPROVE_BUDGET_ACTION" + + // ExecutionTypeRetryBudgetAction is a ExecutionType enum value + ExecutionTypeRetryBudgetAction = "RETRY_BUDGET_ACTION" + + // ExecutionTypeReverseBudgetAction is a ExecutionType enum value + ExecutionTypeReverseBudgetAction = "REVERSE_BUDGET_ACTION" + + // ExecutionTypeResetBudgetAction is a ExecutionType enum value + ExecutionTypeResetBudgetAction = "RESET_BUDGET_ACTION" +) + +// ExecutionType_Values returns all elements of the ExecutionType enum +func ExecutionType_Values() []string { + return []string{ + ExecutionTypeApproveBudgetAction, + ExecutionTypeRetryBudgetAction, + ExecutionTypeReverseBudgetAction, + ExecutionTypeResetBudgetAction, + } +} + const ( // NotificationStateOk is a NotificationState enum value NotificationStateOk = "OK" @@ -4532,7 +7392,7 @@ func SubscriptionType_Values() []string { } } -// The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE. +// The type of threshold for a notification. const ( // ThresholdTypePercentage is a ThresholdType enum value ThresholdTypePercentage = "PERCENTAGE" diff --git a/service/budgets/budgetsiface/interface.go b/service/budgets/budgetsiface/interface.go index 20b5dec3ea7..a37886aa7d7 100644 --- a/service/budgets/budgetsiface/interface.go +++ b/service/budgets/budgetsiface/interface.go @@ -64,6 +64,10 @@ type BudgetsAPI interface { CreateBudgetWithContext(aws.Context, *budgets.CreateBudgetInput, ...request.Option) (*budgets.CreateBudgetOutput, error) CreateBudgetRequest(*budgets.CreateBudgetInput) (*request.Request, *budgets.CreateBudgetOutput) + CreateBudgetAction(*budgets.CreateBudgetActionInput) (*budgets.CreateBudgetActionOutput, error) + CreateBudgetActionWithContext(aws.Context, *budgets.CreateBudgetActionInput, ...request.Option) (*budgets.CreateBudgetActionOutput, error) + CreateBudgetActionRequest(*budgets.CreateBudgetActionInput) (*request.Request, *budgets.CreateBudgetActionOutput) + CreateNotification(*budgets.CreateNotificationInput) (*budgets.CreateNotificationOutput, error) CreateNotificationWithContext(aws.Context, *budgets.CreateNotificationInput, ...request.Option) (*budgets.CreateNotificationOutput, error) CreateNotificationRequest(*budgets.CreateNotificationInput) (*request.Request, *budgets.CreateNotificationOutput) @@ -76,6 +80,10 @@ type BudgetsAPI interface { DeleteBudgetWithContext(aws.Context, *budgets.DeleteBudgetInput, ...request.Option) (*budgets.DeleteBudgetOutput, error) DeleteBudgetRequest(*budgets.DeleteBudgetInput) (*request.Request, *budgets.DeleteBudgetOutput) + DeleteBudgetAction(*budgets.DeleteBudgetActionInput) (*budgets.DeleteBudgetActionOutput, error) + DeleteBudgetActionWithContext(aws.Context, *budgets.DeleteBudgetActionInput, ...request.Option) (*budgets.DeleteBudgetActionOutput, error) + DeleteBudgetActionRequest(*budgets.DeleteBudgetActionInput) (*request.Request, *budgets.DeleteBudgetActionOutput) + DeleteNotification(*budgets.DeleteNotificationInput) (*budgets.DeleteNotificationOutput, error) DeleteNotificationWithContext(aws.Context, *budgets.DeleteNotificationInput, ...request.Option) (*budgets.DeleteNotificationOutput, error) DeleteNotificationRequest(*budgets.DeleteNotificationInput) (*request.Request, *budgets.DeleteNotificationOutput) @@ -88,6 +96,31 @@ type BudgetsAPI interface { DescribeBudgetWithContext(aws.Context, *budgets.DescribeBudgetInput, ...request.Option) (*budgets.DescribeBudgetOutput, error) DescribeBudgetRequest(*budgets.DescribeBudgetInput) (*request.Request, *budgets.DescribeBudgetOutput) + DescribeBudgetAction(*budgets.DescribeBudgetActionInput) (*budgets.DescribeBudgetActionOutput, error) + DescribeBudgetActionWithContext(aws.Context, *budgets.DescribeBudgetActionInput, ...request.Option) (*budgets.DescribeBudgetActionOutput, error) + DescribeBudgetActionRequest(*budgets.DescribeBudgetActionInput) (*request.Request, *budgets.DescribeBudgetActionOutput) + + DescribeBudgetActionHistories(*budgets.DescribeBudgetActionHistoriesInput) (*budgets.DescribeBudgetActionHistoriesOutput, error) + DescribeBudgetActionHistoriesWithContext(aws.Context, *budgets.DescribeBudgetActionHistoriesInput, ...request.Option) (*budgets.DescribeBudgetActionHistoriesOutput, error) + DescribeBudgetActionHistoriesRequest(*budgets.DescribeBudgetActionHistoriesInput) (*request.Request, *budgets.DescribeBudgetActionHistoriesOutput) + + DescribeBudgetActionHistoriesPages(*budgets.DescribeBudgetActionHistoriesInput, func(*budgets.DescribeBudgetActionHistoriesOutput, bool) bool) error + DescribeBudgetActionHistoriesPagesWithContext(aws.Context, *budgets.DescribeBudgetActionHistoriesInput, func(*budgets.DescribeBudgetActionHistoriesOutput, bool) bool, ...request.Option) error + + DescribeBudgetActionsForAccount(*budgets.DescribeBudgetActionsForAccountInput) (*budgets.DescribeBudgetActionsForAccountOutput, error) + DescribeBudgetActionsForAccountWithContext(aws.Context, *budgets.DescribeBudgetActionsForAccountInput, ...request.Option) (*budgets.DescribeBudgetActionsForAccountOutput, error) + DescribeBudgetActionsForAccountRequest(*budgets.DescribeBudgetActionsForAccountInput) (*request.Request, *budgets.DescribeBudgetActionsForAccountOutput) + + DescribeBudgetActionsForAccountPages(*budgets.DescribeBudgetActionsForAccountInput, func(*budgets.DescribeBudgetActionsForAccountOutput, bool) bool) error + DescribeBudgetActionsForAccountPagesWithContext(aws.Context, *budgets.DescribeBudgetActionsForAccountInput, func(*budgets.DescribeBudgetActionsForAccountOutput, bool) bool, ...request.Option) error + + DescribeBudgetActionsForBudget(*budgets.DescribeBudgetActionsForBudgetInput) (*budgets.DescribeBudgetActionsForBudgetOutput, error) + DescribeBudgetActionsForBudgetWithContext(aws.Context, *budgets.DescribeBudgetActionsForBudgetInput, ...request.Option) (*budgets.DescribeBudgetActionsForBudgetOutput, error) + DescribeBudgetActionsForBudgetRequest(*budgets.DescribeBudgetActionsForBudgetInput) (*request.Request, *budgets.DescribeBudgetActionsForBudgetOutput) + + DescribeBudgetActionsForBudgetPages(*budgets.DescribeBudgetActionsForBudgetInput, func(*budgets.DescribeBudgetActionsForBudgetOutput, bool) bool) error + DescribeBudgetActionsForBudgetPagesWithContext(aws.Context, *budgets.DescribeBudgetActionsForBudgetInput, func(*budgets.DescribeBudgetActionsForBudgetOutput, bool) bool, ...request.Option) error + DescribeBudgetPerformanceHistory(*budgets.DescribeBudgetPerformanceHistoryInput) (*budgets.DescribeBudgetPerformanceHistoryOutput, error) DescribeBudgetPerformanceHistoryWithContext(aws.Context, *budgets.DescribeBudgetPerformanceHistoryInput, ...request.Option) (*budgets.DescribeBudgetPerformanceHistoryOutput, error) DescribeBudgetPerformanceHistoryRequest(*budgets.DescribeBudgetPerformanceHistoryInput) (*request.Request, *budgets.DescribeBudgetPerformanceHistoryOutput) @@ -116,10 +149,18 @@ type BudgetsAPI interface { DescribeSubscribersForNotificationPages(*budgets.DescribeSubscribersForNotificationInput, func(*budgets.DescribeSubscribersForNotificationOutput, bool) bool) error DescribeSubscribersForNotificationPagesWithContext(aws.Context, *budgets.DescribeSubscribersForNotificationInput, func(*budgets.DescribeSubscribersForNotificationOutput, bool) bool, ...request.Option) error + ExecuteBudgetAction(*budgets.ExecuteBudgetActionInput) (*budgets.ExecuteBudgetActionOutput, error) + ExecuteBudgetActionWithContext(aws.Context, *budgets.ExecuteBudgetActionInput, ...request.Option) (*budgets.ExecuteBudgetActionOutput, error) + ExecuteBudgetActionRequest(*budgets.ExecuteBudgetActionInput) (*request.Request, *budgets.ExecuteBudgetActionOutput) + UpdateBudget(*budgets.UpdateBudgetInput) (*budgets.UpdateBudgetOutput, error) UpdateBudgetWithContext(aws.Context, *budgets.UpdateBudgetInput, ...request.Option) (*budgets.UpdateBudgetOutput, error) UpdateBudgetRequest(*budgets.UpdateBudgetInput) (*request.Request, *budgets.UpdateBudgetOutput) + UpdateBudgetAction(*budgets.UpdateBudgetActionInput) (*budgets.UpdateBudgetActionOutput, error) + UpdateBudgetActionWithContext(aws.Context, *budgets.UpdateBudgetActionInput, ...request.Option) (*budgets.UpdateBudgetActionOutput, error) + UpdateBudgetActionRequest(*budgets.UpdateBudgetActionInput) (*request.Request, *budgets.UpdateBudgetActionOutput) + UpdateNotification(*budgets.UpdateNotificationInput) (*budgets.UpdateNotificationOutput, error) UpdateNotificationWithContext(aws.Context, *budgets.UpdateNotificationInput, ...request.Option) (*budgets.UpdateNotificationOutput, error) UpdateNotificationRequest(*budgets.UpdateNotificationInput) (*request.Request, *budgets.UpdateNotificationOutput) diff --git a/service/budgets/errors.go b/service/budgets/errors.go index 15cf0ff5d3e..93062b49cde 100644 --- a/service/budgets/errors.go +++ b/service/budgets/errors.go @@ -57,6 +57,13 @@ const ( // // We can’t locate the resource that you specified. ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeResourceLockedException for service response error code + // "ResourceLockedException". + // + // The request was received and recognized by the server, but the server rejected + // that particular method for the requested resource. + ErrCodeResourceLockedException = "ResourceLockedException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ @@ -68,4 +75,5 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidNextTokenException": newErrorInvalidNextTokenException, "InvalidParameterException": newErrorInvalidParameterException, "NotFoundException": newErrorNotFoundException, + "ResourceLockedException": newErrorResourceLockedException, } diff --git a/service/costexplorer/api.go b/service/costexplorer/api.go index 3f263b9c27e..a168c7d5f2d 100644 --- a/service/costexplorer/api.go +++ b/service/costexplorer/api.go @@ -5786,7 +5786,7 @@ type GetCostAndUsageWithResourcesInput struct { Granularity *string `type:"string" enum:"Granularity"` // You can group Amazon Web Services costs using up to two different groups: - // either dimensions, tag keys, or both. + // DIMENSION, TAG, COST_CATEGORY. GroupBy []*GroupDefinition `type:"list"` // Which metrics are returned in the query. For more information about blended diff --git a/service/databasemigrationservice/api.go b/service/databasemigrationservice/api.go index 10f09f2e04c..6bc40dc27eb 100644 --- a/service/databasemigrationservice/api.go +++ b/service/databasemigrationservice/api.go @@ -6415,6 +6415,16 @@ type CreateEndpointInput struct { // Provides information that defines an Amazon Redshift endpoint. RedshiftSettings *RedshiftSettings `type:"structure"` + // A friendly name for the resource identifier at the end of the EndpointArn + // response parameter that is returned in the created Endpoint object. The value + // for this parameter can have up to 31 characters. It can contain only ASCII + // letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain + // two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. + // For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. + // If you don't specify a ResourceIdentifier value, AWS DMS generates a default + // identifier value for the end of EndpointArn. + ResourceIdentifier *string `type:"string"` + // Settings in JSON format for the target Amazon S3 endpoint. For more information // about the available settings, see Extra Connection Attributes When Using // Amazon S3 as a Target for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring) @@ -6629,6 +6639,12 @@ func (s *CreateEndpointInput) SetRedshiftSettings(v *RedshiftSettings) *CreateEn return s } +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *CreateEndpointInput) SetResourceIdentifier(v string) *CreateEndpointInput { + s.ResourceIdentifier = &v + return s +} + // SetS3Settings sets the S3Settings field's value. func (s *CreateEndpointInput) SetS3Settings(v *S3Settings) *CreateEndpointInput { s.S3Settings = v @@ -6926,6 +6942,16 @@ type CreateReplicationInstanceInput struct { // A subnet group to associate with the replication instance. ReplicationSubnetGroupIdentifier *string `type:"string"` + // A friendly name for the resource identifier at the end of the EndpointArn + // response parameter that is returned in the created Endpoint object. The value + // for this parameter can have up to 31 characters. It can contain only ASCII + // letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain + // two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. + // For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. + // If you don't specify a ResourceIdentifier value, AWS DMS generates a default + // identifier value for the end of EndpointArn. + ResourceIdentifier *string `type:"string"` + // One or more tags to be assigned to the replication instance. Tags []*Tag `type:"list"` @@ -7033,6 +7059,12 @@ func (s *CreateReplicationInstanceInput) SetReplicationSubnetGroupIdentifier(v s return s } +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *CreateReplicationInstanceInput) SetResourceIdentifier(v string) *CreateReplicationInstanceInput { + s.ResourceIdentifier = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateReplicationInstanceInput) SetTags(v []*Tag) *CreateReplicationInstanceInput { s.Tags = v @@ -7238,6 +7270,16 @@ type CreateReplicationTaskInput struct { // in the AWS Database Migration User Guide. ReplicationTaskSettings *string `type:"string"` + // A friendly name for the resource identifier at the end of the EndpointArn + // response parameter that is returned in the created Endpoint object. The value + // for this parameter can have up to 31 characters. It can contain only ASCII + // letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain + // two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. + // For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. + // If you don't specify a ResourceIdentifier value, AWS DMS generates a default + // identifier value for the end of EndpointArn. + ResourceIdentifier *string `type:"string"` + // An Amazon Resource Name (ARN) that uniquely identifies the source endpoint. // // SourceEndpointArn is a required field @@ -7345,6 +7387,12 @@ func (s *CreateReplicationTaskInput) SetReplicationTaskSettings(v string) *Creat return s } +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *CreateReplicationTaskInput) SetResourceIdentifier(v string) *CreateReplicationTaskInput { + s.ResourceIdentifier = &v + return s +} + // SetSourceEndpointArn sets the SourceEndpointArn field's value. func (s *CreateReplicationTaskInput) SetSourceEndpointArn(v string) *CreateReplicationTaskInput { s.SourceEndpointArn = &v @@ -14221,6 +14269,17 @@ type RedshiftSettings struct { // data to Redshift. BucketName *string `type:"string"` + // If Amazon Redshift is configured to support case sensitive schema names, + // set CaseSensitiveNames to true. The default is false. + CaseSensitiveNames *bool `type:"boolean"` + + // If you set CompUpdate to true Amazon Redshift applies automatic compression + // if the table is empty. This applies even if the table columns already have + // encodings other than RAW. If you set CompUpdate to false, automatic compression + // is disabled and existing column encodings aren't changed. The default is + // true. + CompUpdate *bool `type:"boolean"` + // A value that sets the amount of time to wait (in milliseconds) before timing // out, beginning from when you initially establish a connection. ConnectionTimeout *int64 `type:"integer"` @@ -14257,6 +14316,12 @@ type RedshiftSettings struct { // "s3:ListBucket" EncryptionMode *string `type:"string" enum:"EncryptionModeValue"` + // This setting is only valid for a full-load migration task. Set ExplicitIds + // to true to have tables with IDENTITY columns override their auto-generated + // values with explicit values loaded from the source data files used to populate + // the tables. The default is false. + ExplicitIds *bool `type:"boolean"` + // The number of threads used to upload a single file. This parameter accepts // a value from 1 through 64. It defaults to 10. // @@ -14371,6 +14436,18 @@ func (s *RedshiftSettings) SetBucketName(v string) *RedshiftSettings { return s } +// SetCaseSensitiveNames sets the CaseSensitiveNames field's value. +func (s *RedshiftSettings) SetCaseSensitiveNames(v bool) *RedshiftSettings { + s.CaseSensitiveNames = &v + return s +} + +// SetCompUpdate sets the CompUpdate field's value. +func (s *RedshiftSettings) SetCompUpdate(v bool) *RedshiftSettings { + s.CompUpdate = &v + return s +} + // SetConnectionTimeout sets the ConnectionTimeout field's value. func (s *RedshiftSettings) SetConnectionTimeout(v int64) *RedshiftSettings { s.ConnectionTimeout = &v @@ -14401,6 +14478,12 @@ func (s *RedshiftSettings) SetEncryptionMode(v string) *RedshiftSettings { return s } +// SetExplicitIds sets the ExplicitIds field's value. +func (s *RedshiftSettings) SetExplicitIds(v bool) *RedshiftSettings { + s.ExplicitIds = &v + return s +} + // SetFileTransferUploadStreams sets the FileTransferUploadStreams field's value. func (s *RedshiftSettings) SetFileTransferUploadStreams(v int64) *RedshiftSettings { s.FileTransferUploadStreams = &v @@ -16409,7 +16492,7 @@ type S3Settings struct { DataPageSize *int64 `type:"integer"` // Specifies a date separating delimiter to use during folder partitioning. - // The default value is SLASH (/). Use this parameter when DatePartitionedEnabled + // The default value is SLASH. Use this parameter when DatePartitionedEnabled // is set to true. DatePartitionDelimiter *string `type:"string" enum:"DatePartitionDelimiterValue"` @@ -17131,7 +17214,7 @@ type StartReplicationTaskInput struct { // ReplicationTaskArn is a required field ReplicationTaskArn *string `type:"string" required:"true"` - // The type of replication task. + // A type of replication task. // // StartReplicationTaskType is a required field StartReplicationTaskType *string `type:"string" required:"true" enum:"StartReplicationTaskTypeValue"` diff --git a/service/glue/api.go b/service/glue/api.go index 5080ab3c8b9..1dc8de83474 100644 --- a/service/glue/api.go +++ b/service/glue/api.go @@ -26210,6 +26210,13 @@ type GetPlanInput struct { _ struct{} `type:"structure"` // A map to hold additional optional key-value parameters. + // + // Currently, these key-value pairs are supported: + // + // * inferSchema — Specifies whether to set inferSchema to true or false + // for the default script generated by an AWS Glue job. For example, to set + // inferSchema to true, pass the following key value pair: --additional-plan-options-map + // '{"inferSchema":"true"}' AdditionalPlanOptionsMap map[string]*string `type:"map"` // The programming language of the code to perform the mapping. diff --git a/service/groundstation/api.go b/service/groundstation/api.go index 68369bb442e..d222c3a5d74 100644 --- a/service/groundstation/api.go +++ b/service/groundstation/api.go @@ -3524,6 +3524,9 @@ type DataflowDetail struct { // Dataflow details for the destination side. Destination *Destination `locationName:"destination" type:"structure"` + // Error message for a dataflow. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + // Dataflow details for the source side. Source *Source `locationName:"source" type:"structure"` } @@ -3544,6 +3547,12 @@ func (s *DataflowDetail) SetDestination(v *Destination) *DataflowDetail { return s } +// SetErrorMessage sets the ErrorMessage field's value. +func (s *DataflowDetail) SetErrorMessage(v string) *DataflowDetail { + s.ErrorMessage = &v + return s +} + // SetSource sets the Source field's value. func (s *DataflowDetail) SetSource(v *Source) *DataflowDetail { s.Source = v @@ -6981,6 +6990,9 @@ const ( // ContactStatusAwsCancelled is a ContactStatus enum value ContactStatusAwsCancelled = "AWS_CANCELLED" + // ContactStatusAwsFailed is a ContactStatus enum value + ContactStatusAwsFailed = "AWS_FAILED" + // ContactStatusCancelled is a ContactStatus enum value ContactStatusCancelled = "CANCELLED" @@ -7017,6 +7029,7 @@ func ContactStatus_Values() []string { return []string{ ContactStatusAvailable, ContactStatusAwsCancelled, + ContactStatusAwsFailed, ContactStatusCancelled, ContactStatusCancelling, ContactStatusCompleted, diff --git a/service/iot/api.go b/service/iot/api.go index 45a60f6429b..22aff6649e4 100644 --- a/service/iot/api.go +++ b/service/iot/api.go @@ -5238,6 +5238,10 @@ func (c *IoT) DeleteProvisioningTemplateRequest(input *DeleteProvisioningTemplat // * ThrottlingException // The rate exceeds the limit. // +// * ConflictingResourceUpdateException +// A conflicting resource update exception. This exception is thrown when two +// pending updates cause a conflict. +// // * UnauthorizedException // You are not authorized to perform this operation. // @@ -5330,6 +5334,10 @@ func (c *IoT) DeleteProvisioningTemplateVersionRequest(input *DeleteProvisioning // * UnauthorizedException // You are not authorized to perform this operation. // +// * ConflictingResourceUpdateException +// A conflicting resource update exception. This exception is thrown when two +// pending updates cause a conflict. +// // * DeleteConflictException // You can't delete the resource because it is attached to one or more resources. // @@ -29001,13 +29009,12 @@ func (s *CreateScheduledAuditOutput) SetScheduledAuditArn(v string) *CreateSched type CreateSecurityProfileInput struct { _ struct{} `type:"structure"` + // Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead. + // // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for // any metric specified here. // - // Note: This API field is deprecated. Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 - // instead. - // // Deprecated: Use additionalMetricsToRetainV2. AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` @@ -32788,6 +32795,9 @@ type DescribeDomainConfigurationOutput struct { // The type of the domain. DomainType *string `locationName:"domainType" type:"string" enum:"DomainType"` + // The date and time the domain configuration's status was last changed. + LastStatusChangeDate *time.Time `locationName:"lastStatusChangeDate" type:"timestamp"` + // A list containing summary information about the server certificate included // in the domain configuration. ServerCertificates []*ServerCertificateSummary `locationName:"serverCertificates" type:"list"` @@ -32842,6 +32852,12 @@ func (s *DescribeDomainConfigurationOutput) SetDomainType(v string) *DescribeDom return s } +// SetLastStatusChangeDate sets the LastStatusChangeDate field's value. +func (s *DescribeDomainConfigurationOutput) SetLastStatusChangeDate(v time.Time) *DescribeDomainConfigurationOutput { + s.LastStatusChangeDate = &v + return s +} + // SetServerCertificates sets the ServerCertificates field's value. func (s *DescribeDomainConfigurationOutput) SetServerCertificates(v []*ServerCertificateSummary) *DescribeDomainConfigurationOutput { s.ServerCertificates = v @@ -33831,13 +33847,12 @@ func (s *DescribeSecurityProfileInput) SetSecurityProfileName(v string) *Describ type DescribeSecurityProfileOutput struct { _ struct{} `type:"structure"` + // Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead. + // // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for // any metric specified here. // - // Note: This API field is deprecated. Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 - // instead. - // // Deprecated: Use additionalMetricsToRetainV2. AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` @@ -35534,14 +35549,14 @@ type ExponentialRolloutRate struct { // The exponential factor to increase the rate of rollout for a job. // + // AWS IoT supports up to one digit after the decimal (for example, 1.5, but + // not 1.55). + // // IncrementFactor is a required field IncrementFactor *float64 `locationName:"incrementFactor" min:"1" type:"double" required:"true"` // The criteria to initiate the increase in rate of rollout for a job. // - // AWS IoT supports up to one digit after the decimal (for example, 1.5, but - // not 1.55). - // // RateIncreaseCriteria is a required field RateIncreaseCriteria *RateIncreaseCriteria `locationName:"rateIncreaseCriteria" type:"structure" required:"true"` } @@ -50572,7 +50587,7 @@ type TopicRulePayload struct { RuleDisabled *bool `locationName:"ruleDisabled" type:"boolean"` // The SQL statement used to query the topic. For more information, see AWS - // IoT SQL Reference (https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) + // IoT SQL Reference (https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html) // in the AWS IoT Developer Guide. // // Sql is a required field @@ -52717,13 +52732,12 @@ func (s *UpdateScheduledAuditOutput) SetScheduledAuditArn(v string) *UpdateSched type UpdateSecurityProfileInput struct { _ struct{} `type:"structure"` + // Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead. + // // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for // any metric specified here. // - // Note: This API field is deprecated. Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 - // instead. - // // Deprecated: Use additionalMetricsToRetainV2. AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` @@ -52885,13 +52899,12 @@ func (s *UpdateSecurityProfileInput) SetSecurityProfileName(v string) *UpdateSec type UpdateSecurityProfileOutput struct { _ struct{} `type:"structure"` + // Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead. + // // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the security profile's behaviors, but it is also retained // for any metric specified here. // - // Note: This API field is deprecated. Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 - // instead. - // // Deprecated: Use additionalMetricsToRetainV2. AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` diff --git a/service/macie2/api.go b/service/macie2/api.go index abc82ed4a0e..978bc0e5406 100644 --- a/service/macie2/api.go +++ b/service/macie2/api.go @@ -1580,8 +1580,7 @@ func (c *Macie2) DescribeClassificationJobRequest(input *DescribeClassificationJ // DescribeClassificationJob API operation for Amazon Macie 2. // -// Retrieves information about the status and settings for a classification -// job. +// Retrieves the status and settings for a classification 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 @@ -1685,8 +1684,7 @@ func (c *Macie2) DescribeOrganizationConfigurationRequest(input *DescribeOrganiz // DescribeOrganizationConfiguration API operation for Amazon Macie 2. // -// Retrieves information about the Amazon Macie configuration settings for an -// AWS organization. +// Retrieves the Amazon Macie configuration settings for an AWS organization. // // 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 @@ -2632,8 +2630,7 @@ func (c *Macie2) GetCustomDataIdentifierRequest(input *GetCustomDataIdentifierIn // GetCustomDataIdentifier API operation for Amazon Macie 2. // -// Retrieves information about the criteria and other settings for a custom -// data identifier. +// Retrieves the criteria and other settings for a custom data identifier. // // 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 @@ -2841,7 +2838,7 @@ func (c *Macie2) GetFindingsRequest(input *GetFindingsInput) (req *request.Reque // GetFindings API operation for Amazon Macie 2. // -// Retrieves information about one or more findings. +// Retrieves the details of one or more findings. // // 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 @@ -2945,8 +2942,7 @@ func (c *Macie2) GetFindingsFilterRequest(input *GetFindingsFilterInput) (req *r // GetFindingsFilter API operation for Amazon Macie 2. // -// Retrieves information about the criteria and other settings for a findings -// filter. +// Retrieves the criteria and other settings for a findings filter. // // 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 @@ -3155,8 +3151,8 @@ func (c *Macie2) GetMacieSessionRequest(input *GetMacieSessionInput) (req *reque // GetMacieSession API operation for Amazon Macie 2. // -// Retrieves information about the current status and configuration settings -// for an Amazon Macie account. +// Retrieves the current status and configuration settings for an Amazon Macie +// 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 @@ -5311,7 +5307,7 @@ func (c *Macie2) UpdateClassificationJobRequest(input *UpdateClassificationJobIn // UpdateClassificationJob API operation for Amazon Macie 2. // -// Cancels a classification job. +// Changes the status of a classification 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 @@ -6399,6 +6395,8 @@ type BucketCountByEffectivePermission struct { PubliclyReadable *int64 `locationName:"publiclyReadable" type:"long"` PubliclyWritable *int64 `locationName:"publiclyWritable" type:"long"` + + Unknown *int64 `locationName:"unknown" type:"long"` } // String returns the string representation @@ -6429,6 +6427,12 @@ func (s *BucketCountByEffectivePermission) SetPubliclyWritable(v int64) *BucketC return s } +// SetUnknown sets the Unknown field's value. +func (s *BucketCountByEffectivePermission) SetUnknown(v int64) *BucketCountByEffectivePermission { + s.Unknown = &v + return s +} + // Provides information about the number of S3 buckets that use certain types // of server-side encryption or don't encrypt objects by default. type BucketCountByEncryptionType struct { @@ -6479,6 +6483,8 @@ type BucketCountBySharedAccessType struct { Internal *int64 `locationName:"internal" type:"long"` NotShared *int64 `locationName:"notShared" type:"long"` + + Unknown *int64 `locationName:"unknown" type:"long"` } // String returns the string representation @@ -6509,6 +6515,12 @@ func (s *BucketCountBySharedAccessType) SetNotShared(v int64) *BucketCountByShar return s } +// SetUnknown sets the Unknown field's value. +func (s *BucketCountBySharedAccessType) SetUnknown(v int64) *BucketCountBySharedAccessType { + s.Unknown = &v + return s +} + // Specifies the operator to use in an attribute-based condition that filters // the results of a query for information about S3 buckets. type BucketCriteriaAdditionalProperties struct { @@ -6947,6 +6959,54 @@ func (s *BucketSortCriteria) SetOrderBy(v string) *BucketSortCriteria { return s } +// Specifies the location of an occurrence of sensitive data in a Microsoft +// Excel workbook, CSV file, or TSV file. +type Cell struct { + _ struct{} `type:"structure"` + + CellReference *string `locationName:"cellReference" type:"string"` + + Column *int64 `locationName:"column" type:"long"` + + ColumnName *string `locationName:"columnName" type:"string"` + + Row *int64 `locationName:"row" type:"long"` +} + +// String returns the string representation +func (s Cell) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Cell) GoString() string { + return s.String() +} + +// SetCellReference sets the CellReference field's value. +func (s *Cell) SetCellReference(v string) *Cell { + s.CellReference = &v + return s +} + +// SetColumn sets the Column field's value. +func (s *Cell) SetColumn(v int64) *Cell { + s.Column = &v + return s +} + +// SetColumnName sets the ColumnName field's value. +func (s *Cell) SetColumnName(v string) *Cell { + s.ColumnName = &v + return s +} + +// SetRow sets the Row field's value. +func (s *Cell) SetRow(v int64) *Cell { + s.Row = &v + return s +} + // Provides information about a sensitive data finding, including the classification // job that produced the finding. type ClassificationDetails struct { @@ -6958,8 +7018,8 @@ type ClassificationDetails struct { JobId *string `locationName:"jobId" type:"string"` - // Provides detailed information about a sensitive data finding, including the - // types and number of occurrences of the sensitive data that was found. + // Provides the details of a sensitive data finding, including the types, number + // of occurrences, and locations of the sensitive data that was detected. Result *ClassificationResult `locationName:"result" type:"structure"` } @@ -7039,11 +7099,13 @@ func (s *ClassificationExportConfiguration) SetS3Destination(v *S3Destination) * return s } -// Provides detailed information about a sensitive data finding, including the -// types and number of occurrences of the sensitive data that was found. +// Provides the details of a sensitive data finding, including the types, number +// of occurrences, and locations of the sensitive data that was detected. type ClassificationResult struct { _ struct{} `type:"structure"` + AdditionalOccurrences *bool `locationName:"additionalOccurrences" type:"boolean"` + // Provides information about the number of occurrences of the data that produced // a sensitive data finding, and the custom data identifiers that detected the // data for the finding. @@ -7071,6 +7133,12 @@ func (s ClassificationResult) GoString() string { return s.String() } +// SetAdditionalOccurrences sets the AdditionalOccurrences field's value. +func (s *ClassificationResult) SetAdditionalOccurrences(v bool) *ClassificationResult { + s.AdditionalOccurrences = &v + return s +} + // SetCustomDataIdentifiers sets the CustomDataIdentifiers field's value. func (s *ClassificationResult) SetCustomDataIdentifiers(v *CustomDataIdentifiers) *ClassificationResult { s.CustomDataIdentifiers = v @@ -7190,10 +7258,9 @@ func (s *ConflictException) RequestID() string { } // Specifies the scope, schedule, and other settings for a classification job. -// You can't delete or change the settings for a classification job after you -// create it. This helps ensure that you have an immutable history of sensitive -// data findings and discovery results for data privacy and protection audits -// or investigations. +// You can't change any settings for a classification job after you create it. +// This helps ensure that you have an immutable history of sensitive data findings +// and discovery results for data privacy and protection audits or investigations. type CreateClassificationJobInput struct { _ struct{} `type:"structure"` @@ -7946,8 +8013,7 @@ func (s *CustomDataIdentifiers) SetTotalCount(v int64) *CustomDataIdentifiers { } // Provides information about a custom data identifier that produced a sensitive -// data finding, and the number of occurrences of the data that it detected -// for the finding. +// data finding, and the sensitive data that it detected for the finding. type CustomDetection struct { _ struct{} `type:"structure"` @@ -7956,6 +8022,11 @@ type CustomDetection struct { Count *int64 `locationName:"count" type:"long"` Name *string `locationName:"name" type:"string"` + + // Provides the location of 1-15 occurrences of sensitive data that was detected + // by managed data identifiers or a custom data identifier and produced a sensitive + // data finding. + Occurrences *Occurrences `locationName:"occurrences" type:"structure"` } // String returns the string representation @@ -7986,6 +8057,12 @@ func (s *CustomDetection) SetName(v string) *CustomDetection { return s } +// SetOccurrences sets the Occurrences field's value. +func (s *CustomDetection) SetOccurrences(v *Occurrences) *CustomDetection { + s.Occurrences = v + return s +} + // Specifies that a classification job runs once a day, every day. This is an // empty object. type DailySchedule struct { @@ -8064,13 +8141,18 @@ func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccoun return s } -// Provides information about sensitive data that was detected by managed data -// identifiers and produced a sensitive data finding. +// Provides information about a type of sensitive data that was detected by +// managed data identifiers and produced a sensitive data finding. type DefaultDetection struct { _ struct{} `type:"structure"` Count *int64 `locationName:"count" type:"long"` + // Provides the location of 1-15 occurrences of sensitive data that was detected + // by managed data identifiers or a custom data identifier and produced a sensitive + // data finding. + Occurrences *Occurrences `locationName:"occurrences" type:"structure"` + Type *string `locationName:"type" type:"string"` } @@ -8090,6 +8172,12 @@ func (s *DefaultDetection) SetCount(v int64) *DefaultDetection { return s } +// SetOccurrences sets the Occurrences field's value. +func (s *DefaultDetection) SetOccurrences(v *Occurrences) *DefaultDetection { + s.Occurrences = v + return s +} + // SetType sets the Type field's value. func (s *DefaultDetection) SetType(v string) *DefaultDetection { s.Type = &v @@ -8485,6 +8573,11 @@ type DescribeClassificationJobOutput struct { // values) for a classification job, custom data identifier, findings filter, // or member account. Tags map[string]*string `locationName:"tags" type:"map"` + + // Provides information about when a classification job was paused and when + // it will expire and be cancelled if it isn’t resumed. This object is present + // only if a job’s current status (jobStatus) is USER_PAUSED. + UserPausedDetails *UserPausedDetails `locationName:"userPausedDetails" type:"structure"` } // String returns the string representation @@ -8593,6 +8686,12 @@ func (s *DescribeClassificationJobOutput) SetTags(v map[string]*string) *Describ return s } +// SetUserPausedDetails sets the UserPausedDetails field's value. +func (s *DescribeClassificationJobOutput) SetUserPausedDetails(v *UserPausedDetails) *DescribeClassificationJobOutput { + s.UserPausedDetails = v + return s +} + type DescribeOrganizationConfigurationInput struct { _ struct{} `type:"structure"` } @@ -9002,7 +9101,7 @@ func (s *FederatedUser) SetSessionContext(v *SessionContext) *FederatedUser { return s } -// Provides information about a finding. +// Provides the details of a finding. type Finding struct { _ struct{} `type:"structure"` @@ -9039,12 +9138,14 @@ type Finding struct { SchemaVersion *string `locationName:"schemaVersion" type:"string"` - // Provides the numeric score and textual representation of a severity value. + // Provides the numerical and qualitative representations of a finding's severity. Severity *Severity `locationName:"severity" type:"structure"` Title *string `locationName:"title" type:"string"` - // The type of finding. Valid values are: + // The type of finding. For details about each type, see Types of Amazon Macie + // findings (https://docs.aws.amazon.com/macie/latest/user/findings-types.html) + // in the Amazon Macie User Guide. Valid values are: Type *string `locationName:"type" type:"string" enum:"FindingType"` UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` @@ -9924,15 +10025,14 @@ func (s *GetFindingsFilterOutput) SetTags(v map[string]*string) *GetFindingsFilt return s } -// Specifies one or more findings to retrieve information about. +// Specifies one or more findings to retrieve. type GetFindingsInput struct { _ struct{} `type:"structure"` // FindingIds is a required field FindingIds []*string `locationName:"findingIds" type:"list" required:"true"` - // Specifies criteria for sorting the results of a request for information about - // findings. + // Specifies criteria for sorting the results of a request for findings. SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"` } @@ -9971,7 +10071,7 @@ func (s *GetFindingsInput) SetSortCriteria(v *SortCriteria) *GetFindingsInput { return s } -// Provides the results of a request for information about one or more findings. +// Provides the results of a request for one or more findings. type GetFindingsOutput struct { _ struct{} `type:"structure"` @@ -10853,7 +10953,8 @@ func (s *JobScopeTerm) SetTagScopeTerm(v *TagScopeTerm) *JobScopeTerm { } // Specifies one or more property- and tag-based conditions that define criteria -// for including or excluding objects from a classification job. +// for including or excluding objects from a classification job. If you specify +// more than one condition, Amazon Macie uses an AND operator to join the conditions. type JobScopingBlock struct { _ struct{} `type:"structure"` @@ -10894,6 +10995,11 @@ type JobSummary struct { JobType *string `locationName:"jobType" type:"string" enum:"JobType"` Name *string `locationName:"name" type:"string"` + + // Provides information about when a classification job was paused and when + // it will expire and be cancelled if it isn’t resumed. This object is present + // only if a job’s current status (jobStatus) is USER_PAUSED. + UserPausedDetails *UserPausedDetails `locationName:"userPausedDetails" type:"structure"` } // String returns the string representation @@ -10942,6 +11048,12 @@ func (s *JobSummary) SetName(v string) *JobSummary { return s } +// SetUserPausedDetails sets the UserPausedDetails field's value. +func (s *JobSummary) SetUserPausedDetails(v *UserPausedDetails) *JobSummary { + s.UserPausedDetails = v + return s +} + // Provides information about the tags that are associated with an S3 bucket // or object. Each tag consists of a required tag key and an associated tag // value. @@ -11209,8 +11321,7 @@ type ListFindingsInput struct { NextToken *string `locationName:"nextToken" type:"string"` - // Specifies criteria for sorting the results of a request for information about - // findings. + // Specifies criteria for sorting the results of a request for findings. SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"` } @@ -11886,6 +11997,121 @@ func (s *ObjectLevelStatistics) SetTotal(v int64) *ObjectLevelStatistics { return s } +// Provides the location of 1-15 occurrences of sensitive data that was detected +// by managed data identifiers or a custom data identifier and produced a sensitive +// data finding. +type Occurrences struct { + _ struct{} `type:"structure"` + + // Specifies the location of occurrences of sensitive data in a Microsoft Excel + // workbook, CSV file, or TSV file. + Cells []*Cell `locationName:"cells" type:"list"` + + // Provides details about the location of occurrences of sensitive data in an + // Adobe Portable Document Format file, Apache Avro object container, Microsoft + // Word document, or non-binary text file. + LineRanges []*Range `locationName:"lineRanges" type:"list"` + + // Provides details about the location of occurrences of sensitive data in an + // Adobe Portable Document Format file, Apache Avro object container, Microsoft + // Word document, or non-binary text file. + OffsetRanges []*Range `locationName:"offsetRanges" type:"list"` + + // Specifies the location of occurrences of sensitive data in an Adobe Portable + // Document Format file. + Pages []*Page `locationName:"pages" type:"list"` + + // Specifies the location of occurrences of sensitive data in an Apache Parquet + // file. + Records []*Record `locationName:"records" type:"list"` +} + +// String returns the string representation +func (s Occurrences) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Occurrences) GoString() string { + return s.String() +} + +// SetCells sets the Cells field's value. +func (s *Occurrences) SetCells(v []*Cell) *Occurrences { + s.Cells = v + return s +} + +// SetLineRanges sets the LineRanges field's value. +func (s *Occurrences) SetLineRanges(v []*Range) *Occurrences { + s.LineRanges = v + return s +} + +// SetOffsetRanges sets the OffsetRanges field's value. +func (s *Occurrences) SetOffsetRanges(v []*Range) *Occurrences { + s.OffsetRanges = v + return s +} + +// SetPages sets the Pages field's value. +func (s *Occurrences) SetPages(v []*Page) *Occurrences { + s.Pages = v + return s +} + +// SetRecords sets the Records field's value. +func (s *Occurrences) SetRecords(v []*Record) *Occurrences { + s.Records = v + return s +} + +// Specifies the location of an occurrence of sensitive data in an Adobe Portable +// Document Format file. +type Page struct { + _ struct{} `type:"structure"` + + // Provides details about the location of an occurrence of sensitive data in + // an Adobe Portable Document Format file, Apache Avro object container, Microsoft + // Word document, or non-binary text file. + LineRange *Range `locationName:"lineRange" type:"structure"` + + // Provides details about the location of an occurrence of sensitive data in + // an Adobe Portable Document Format file, Apache Avro object container, Microsoft + // Word document, or non-binary text file. + OffsetRange *Range `locationName:"offsetRange" type:"structure"` + + PageNumber *int64 `locationName:"pageNumber" type:"long"` +} + +// String returns the string representation +func (s Page) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Page) GoString() string { + return s.String() +} + +// SetLineRange sets the LineRange field's value. +func (s *Page) SetLineRange(v *Range) *Page { + s.LineRange = v + return s +} + +// SetOffsetRange sets the OffsetRange field's value. +func (s *Page) SetOffsetRange(v *Range) *Page { + s.OffsetRange = v + return s +} + +// SetPageNumber sets the PageNumber field's value. +func (s *Page) SetPageNumber(v int64) *Page { + s.PageNumber = &v + return s +} + // Provides the details of a policy finding. type PolicyDetails struct { _ struct{} `type:"structure"` @@ -11996,6 +12222,71 @@ func (s *PutClassificationExportConfigurationOutput) SetConfiguration(v *Classif return s } +// Provides details about the location of an occurrence of sensitive data in +// an Adobe Portable Document Format file, Apache Avro object container, Microsoft +// Word document, or non-binary text file. +type Range struct { + _ struct{} `type:"structure"` + + End *int64 `locationName:"end" type:"long"` + + Start *int64 `locationName:"start" type:"long"` + + StartColumn *int64 `locationName:"startColumn" type:"long"` +} + +// String returns the string representation +func (s Range) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Range) GoString() string { + return s.String() +} + +// SetEnd sets the End field's value. +func (s *Range) SetEnd(v int64) *Range { + s.End = &v + return s +} + +// SetStart sets the Start field's value. +func (s *Range) SetStart(v int64) *Range { + s.Start = &v + return s +} + +// SetStartColumn sets the StartColumn field's value. +func (s *Range) SetStartColumn(v int64) *Range { + s.StartColumn = &v + return s +} + +// Specifies the location of an occurrence of sensitive data in an Apache Parquet +// file. +type Record struct { + _ struct{} `type:"structure"` + + RecordIndex *int64 `locationName:"recordIndex" type:"long"` +} + +// String returns the string representation +func (s Record) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Record) GoString() string { + return s.String() +} + +// SetRecordIndex sets the RecordIndex field's value. +func (s *Record) SetRecordIndex(v int64) *Record { + s.RecordIndex = &v + return s +} + // Provides information about settings that define whether one or more objects // in an S3 bucket are replicated to S3 buckets for other AWS accounts and, // if so, which accounts. @@ -12136,7 +12427,7 @@ type S3Bucket struct { CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` // Provides information about the server-side encryption settings for an S3 - // bucket or object. + // bucket or S3 object. DefaultServerSideEncryption *ServerSideEncryption `locationName:"defaultServerSideEncryption" type:"structure"` Name *string `locationName:"name" type:"string"` @@ -12336,7 +12627,8 @@ type S3JobDefinition struct { // Specifies one or more property- and tag-based conditions that refine the // scope of a classification job. These conditions define criteria that determine - // which objects a job analyzes. + // which objects a job analyzes. Exclude conditions take precedence over include + // conditions. Scoping *Scoping `locationName:"scoping" type:"structure"` } @@ -12381,12 +12673,12 @@ type S3Object struct { PublicAccess *bool `locationName:"publicAccess" type:"boolean"` // Provides information about the server-side encryption settings for an S3 - // bucket or object. + // bucket or S3 object. ServerSideEncryption *ServerSideEncryption `locationName:"serverSideEncryption" type:"structure"` Size *int64 `locationName:"size" type:"long"` - // The storage class of the S3 bucket or object. Possible values are: + // The storage class of the S3 object. Possible values are: StorageClass *string `locationName:"storageClass" type:"string" enum:"StorageClass"` // Provides information about the tags that are associated with an S3 bucket @@ -12481,16 +12773,19 @@ func (s *S3Object) SetVersionId(v string) *S3Object { // Specifies one or more property- and tag-based conditions that refine the // scope of a classification job. These conditions define criteria that determine -// which objects a job analyzes. +// which objects a job analyzes. Exclude conditions take precedence over include +// conditions. type Scoping struct { _ struct{} `type:"structure"` // Specifies one or more property- and tag-based conditions that define criteria - // for including or excluding objects from a classification job. + // for including or excluding objects from a classification job. If you specify + // more than one condition, Amazon Macie uses an AND operator to join the conditions. Excludes *JobScopingBlock `locationName:"excludes" type:"structure"` // Specifies one or more property- and tag-based conditions that define criteria - // for including or excluding objects from a classification job. + // for including or excluding objects from a classification job. If you specify + // more than one condition, Amazon Macie uses an AND operator to join the conditions. Includes *JobScopingBlock `locationName:"includes" type:"structure"` } @@ -12516,8 +12811,8 @@ func (s *Scoping) SetIncludes(v *JobScopingBlock) *Scoping { return s } -// Provides information about the category, type, and number of occurrences -// of sensitive data that produced a finding. +// Provides information about the category, types, and occurrences of sensitive +// data that produced a sensitive data finding. type SensitiveDataItem struct { _ struct{} `type:"structure"` @@ -12562,12 +12857,12 @@ func (s *SensitiveDataItem) SetTotalCount(v int64) *SensitiveDataItem { } // Provides information about the server-side encryption settings for an S3 -// bucket or object. +// bucket or S3 object. type ServerSideEncryption struct { _ struct{} `type:"structure"` - // The type of server-side encryption that's used to encrypt objects in the - // S3 bucket. Valid values are: + // The type of server-side encryption that's used to encrypt an S3 object or + // objects in an S3 bucket. Valid values are: EncryptionType *string `locationName:"encryptionType" type:"string" enum:"EncryptionType"` KmsMasterKeyId *string `locationName:"kmsMasterKeyId" type:"string"` @@ -12815,11 +13110,12 @@ func (s *SessionIssuer) SetUserName(v string) *SessionIssuer { return s } -// Provides the numeric score and textual representation of a severity value. +// Provides the numerical and qualitative representations of a finding's severity. type Severity struct { _ struct{} `type:"structure"` - // The textual representation of the finding's severity. Possible values are: + // The qualitative representation of the finding's severity. Possible values + // are: Description *string `locationName:"description" type:"string" enum:"SeverityDescription"` Score *int64 `locationName:"score" type:"long"` @@ -12890,8 +13186,7 @@ func (s *SimpleScopeTerm) SetValues(v []*string) *SimpleScopeTerm { return s } -// Specifies criteria for sorting the results of a request for information about -// findings. +// Specifies criteria for sorting the results of a request for findings. type SortCriteria struct { _ struct{} `type:"structure"` @@ -13075,7 +13370,7 @@ func (s *TagScopeTerm) SetTarget(v string) *TagScopeTerm { return s } -// Specifies a tag key and value, as a pair, to use in a tag-based condition +// Specifies a tag key or tag key and value pair to use in a tag-based condition // for a classification job. type TagValuePair struct { _ struct{} `type:"structure"` @@ -13366,7 +13661,7 @@ func (s UntagResourceOutput) GoString() string { return s.String() } -// Cancels a classification job. +// Changes the status of a classification job. type UpdateClassificationJobInput struct { _ struct{} `type:"structure"` @@ -14067,6 +14362,47 @@ func (s *UserIdentityRoot) SetPrincipalId(v string) *UserIdentityRoot { return s } +// Provides information about when a classification job was paused and when +// it will expire and be cancelled if it isn’t resumed. This object is present +// only if a job’s current status (jobStatus) is USER_PAUSED. +type UserPausedDetails struct { + _ struct{} `type:"structure"` + + JobExpiresAt *time.Time `locationName:"jobExpiresAt" type:"timestamp" timestampFormat:"iso8601"` + + JobImminentExpirationHealthEventArn *string `locationName:"jobImminentExpirationHealthEventArn" type:"string"` + + JobPausedAt *time.Time `locationName:"jobPausedAt" type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation +func (s UserPausedDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UserPausedDetails) GoString() string { + return s.String() +} + +// SetJobExpiresAt sets the JobExpiresAt field's value. +func (s *UserPausedDetails) SetJobExpiresAt(v time.Time) *UserPausedDetails { + s.JobExpiresAt = &v + return s +} + +// SetJobImminentExpirationHealthEventArn sets the JobImminentExpirationHealthEventArn field's value. +func (s *UserPausedDetails) SetJobImminentExpirationHealthEventArn(v string) *UserPausedDetails { + s.JobImminentExpirationHealthEventArn = &v + return s +} + +// SetJobPausedAt sets the JobPausedAt field's value. +func (s *UserPausedDetails) SetJobPausedAt(v time.Time) *UserPausedDetails { + s.JobPausedAt = &v + return s +} + // Provides information about an error that occurred due to a syntax error in // a request. type ValidationException struct { @@ -14235,8 +14571,8 @@ func EffectivePermission_Values() []string { } } -// The type of server-side encryption that's used to encrypt objects in the -// S3 bucket. Valid values are: +// The type of server-side encryption that's used to encrypt an S3 object or +// objects in an S3 bucket. Valid values are: const ( // EncryptionTypeNone is a EncryptionType enum value EncryptionTypeNone = "NONE" @@ -14350,7 +14686,9 @@ func FindingStatisticsSortAttributeName_Values() []string { } } -// The type of finding. Valid values are: +// The type of finding. For details about each type, see Types of Amazon Macie +// findings (https://docs.aws.amazon.com/macie/latest/user/findings-types.html) +// in the Amazon Macie User Guide. Valid values are: const ( // FindingTypeSensitiveDataS3objectMultiple is a FindingType enum value FindingTypeSensitiveDataS3objectMultiple = "SensitiveData:S3Object/Multiple" @@ -14495,6 +14833,9 @@ const ( // JobStatusIdle is a JobStatus enum value JobStatusIdle = "IDLE" + + // JobStatusUserPaused is a JobStatus enum value + JobStatusUserPaused = "USER_PAUSED" ) // JobStatus_Values returns all elements of the JobStatus enum @@ -14505,6 +14846,7 @@ func JobStatus_Values() []string { JobStatusCancelled, JobStatusComplete, JobStatusIdle, + JobStatusUserPaused, } } @@ -14714,7 +15056,8 @@ func SensitiveDataItemCategory_Values() []string { } } -// The textual representation of the finding's severity. Possible values are: +// The qualitative representation of the finding's severity. Possible values +// are: const ( // SeverityDescriptionLow is a SeverityDescription enum value SeverityDescriptionLow = "Low" @@ -14759,7 +15102,7 @@ func SharedAccess_Values() []string { } } -// The storage class of the S3 bucket or object. Possible values are: +// The storage class of the S3 object. Possible values are: const ( // StorageClassStandard is a StorageClass enum value StorageClassStandard = "STANDARD" diff --git a/service/rds/api.go b/service/rds/api.go index fe5f2c89b80..491541a7e6f 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -1114,7 +1114,7 @@ func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Re // CopyDBSnapshot API operation for Amazon Relational Database Service. // // Copies the specified DB snapshot. The source DB snapshot must be in the available -// or storage-optimization state. +// state. // // You can copy a snapshot from one AWS Region to another. In that case, the // AWS Region where you call the CopyDBSnapshot action is the destination AWS @@ -2415,7 +2415,8 @@ func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *reques // CreateDBSnapshot API operation for Amazon Relational Database Service. // -// Creates a DBSnapshot. The source DBInstance must be in "available" state. +// Creates a snapshot of a DB instance. The source DB instance must be in the +// available or storage-optimizationstate. // // 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 @@ -17066,12 +17067,20 @@ type CreateDBClusterInput struct { // Engine is a required field Engine *string `type:"string" required:"true"` - // The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, + // The DB engine mode of the DB cluster, either provisioned serverless, parallelquery, // global, or multimaster. // - // global engine mode only applies for global database clusters created with - // Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters - // in a global database use provisioned engine mode. + // The parallelquery engine mode isn't required for Aurora MySQL version 1.23 + // and higher 1.x versions, and version 2.09 and higher 2.x versions. + // + // The global engine mode isn't required for Aurora MySQL version 1.22 and higher + // 1.x versions, and global engine mode isn't required for any 2.x versions. + // + // The multimaster engine mode only applies for DB clusters created with Aurora + // MySQL version 5.6.10a. + // + // For Aurora PostgreSQL, the global engine mode isn't required, and both the + // parallelquery and the multimaster engine modes currently aren't supported. // // Limitations and requirements apply to some DB engine modes. For more information, // see the following sections in the Amazon Aurora User Guide: @@ -17080,7 +17089,7 @@ type CreateDBClusterInput struct { // // * Limitations of Parallel Query (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations) // - // * Requirements for Aurora Global Databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations) + // * Limitations of Aurora Global Databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations) // // * Limitations of Multi-Master Clusters (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html#aurora-multi-master-limitations) EngineMode *string `type:"string"` @@ -20656,11 +20665,7 @@ type DBCluster struct { // The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, // global, or multimaster. // - // global engine mode only applies for global database clusters created with - // Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters - // in a global database use provisioned engine mode. To check if a DB cluster - // is part of a global database, use DescribeGlobalClusters instead of checking - // the EngineMode return value from DescribeDBClusters. + // For more information, see CreateDBCluster (https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html). EngineMode *string `type:"string"` // Indicates the database engine version. @@ -20757,6 +20762,10 @@ type DBCluster struct { // Specifies whether the DB cluster is encrypted. StorageEncrypted *bool `type:"boolean"` + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + TagList []*Tag `locationNameList:"Tag" type:"list"` + // Provides a list of VPC security groups that the DB cluster belongs to. VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"` } @@ -21089,6 +21098,12 @@ func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster { return s } +// SetTagList sets the TagList field's value. +func (s *DBCluster) SetTagList(v []*Tag) *DBCluster { + s.TagList = v + return s +} + // SetVpcSecurityGroups sets the VpcSecurityGroups field's value. func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster { s.VpcSecurityGroups = v @@ -21527,6 +21542,10 @@ type DBClusterSnapshot struct { // Specifies whether the DB cluster snapshot is encrypted. StorageEncrypted *bool `type:"boolean"` + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + TagList []*Tag `locationNameList:"Tag" type:"list"` + // Provides the VPC ID associated with the DB cluster snapshot. VpcId *string `type:"string"` } @@ -21655,6 +21674,12 @@ func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot { return s } +// SetTagList sets the TagList field's value. +func (s *DBClusterSnapshot) SetTagList(v []*Tag) *DBClusterSnapshot { + s.TagList = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot { s.VpcId = &v @@ -21782,10 +21807,6 @@ type DBEngineVersion struct { SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"` // A list of the supported DB engine modes. - // - // global engine mode only applies for global database clusters created with - // Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters - // in a global database use provisioned engine mode. SupportedEngineModes []*string `type:"list"` // A list of features supported by the DB engine. Supported feature names include @@ -22212,6 +22233,10 @@ type DBInstance struct { // Specifies the storage type associated with DB instance. StorageType *string `type:"string"` + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + TagList []*Tag `locationNameList:"Tag" type:"list"` + // The ARN from the key store with which the instance is associated for TDE // encryption. TdeCredentialArn *string `type:"string"` @@ -22578,6 +22603,12 @@ func (s *DBInstance) SetStorageType(v string) *DBInstance { return s } +// SetTagList sets the TagList field's value. +func (s *DBInstance) SetTagList(v []*Tag) *DBInstance { + s.TagList = v + return s +} + // SetTdeCredentialArn sets the TdeCredentialArn field's value. func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance { s.TdeCredentialArn = &v @@ -23640,6 +23671,10 @@ type DBSnapshot struct { // Specifies the storage type associated with DB snapshot. StorageType *string `type:"string"` + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + TagList []*Tag `locationNameList:"Tag" type:"list"` + // The ARN from the key store with which to associate the instance for TDE encryption. TdeCredentialArn *string `type:"string"` @@ -23812,6 +23847,12 @@ func (s *DBSnapshot) SetStorageType(v string) *DBSnapshot { return s } +// SetTagList sets the TagList field's value. +func (s *DBSnapshot) SetTagList(v []*Tag) *DBSnapshot { + s.TagList = v + return s +} + // SetTdeCredentialArn sets the TdeCredentialArn field's value. func (s *DBSnapshot) SetTdeCredentialArn(v string) *DBSnapshot { s.TdeCredentialArn = &v @@ -35539,10 +35580,6 @@ type OrderableDBInstanceOption struct { StorageType *string `type:"string"` // A list of the supported DB engine modes. - // - // global engine mode only applies for global database clusters created with - // Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters - // in a global database use provisioned engine mode. SupportedEngineModes []*string `type:"list"` // Indicates whether a DB instance supports Enhanced Monitoring at intervals @@ -38217,6 +38254,8 @@ type RestoreDBClusterFromSnapshotInput struct { // The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, // global, or multimaster. + // + // For more information, see CreateDBCluster (https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html). EngineMode *string `type:"string"` // The version of the database engine to use for the new DB cluster. diff --git a/service/rekognition/api.go b/service/rekognition/api.go index 28579d30906..58a0670a3e9 100644 --- a/service/rekognition/api.go +++ b/service/rekognition/api.go @@ -2182,6 +2182,143 @@ func (c *Rekognition) DetectModerationLabelsWithContext(ctx aws.Context, input * return out, req.Send() } +const opDetectProtectiveEquipment = "DetectProtectiveEquipment" + +// DetectProtectiveEquipmentRequest generates a "aws/request.Request" representing the +// client's request for the DetectProtectiveEquipment 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 DetectProtectiveEquipment for more information on using the DetectProtectiveEquipment +// 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 DetectProtectiveEquipmentRequest method. +// req, resp := client.DetectProtectiveEquipmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *Rekognition) DetectProtectiveEquipmentRequest(input *DetectProtectiveEquipmentInput) (req *request.Request, output *DetectProtectiveEquipmentOutput) { + op := &request.Operation{ + Name: opDetectProtectiveEquipment, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DetectProtectiveEquipmentInput{} + } + + output = &DetectProtectiveEquipmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// DetectProtectiveEquipment API operation for Amazon Rekognition. +// +// Detects Personal Protective Equipment (PPE) worn by people detected in an +// image. Amazon Rekognition can detect the following types of PPE. +// +// * Face cover +// +// * Hand cover +// +// * Head cover +// +// You pass the input image as base64-encoded image bytes or as a reference +// to an image in an Amazon S3 bucket. The image must be either a PNG or JPG +// formatted file. +// +// DetectProtectiveEquipment detects PPE worn by up to 15 persons detected in +// an image. +// +// For each person detected in the image the API returns an array of body parts +// (face, head, left-hand, right-hand). For each body part, an array of detected +// items of PPE is returned, including an indicator of whether or not the PPE +// covers the body part. The API returns the confidence it has in each detection +// (person, PPE, body part and body part coverage). It also returns a bounding +// box (BoundingBox) for each detected person and each detected item of PPE. +// +// You can optionally request a summary of detected PPE items with the SummarizationAttributes +// input parameter. The summary provides the following information. +// +// * The persons detected as wearing all of the types of PPE that you specify. +// +// * The persons detected as not wearing all of the types PPE that you specify. +// +// * The persons detected where PPE adornment could not be determined. +// +// This is a stateless API operation. That is, the operation does not persist +// any data. +// +// This operation requires permissions to perform the rekognition:DetectProtectiveEquipment +// action. +// +// 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 Rekognition's +// API operation DetectProtectiveEquipment for usage and error information. +// +// Returned Error Types: +// * InvalidS3ObjectException +// Amazon Rekognition is unable to access the S3 object specified in the request. +// +// * InvalidParameterException +// Input parameter violated a constraint. Validate your parameter before calling +// the API operation again. +// +// * ImageTooLargeException +// The input image size exceeds the allowed limit. For more information, see +// Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide. +// +// * AccessDeniedException +// You are not authorized to perform the action. +// +// * InternalServerError +// Amazon Rekognition experienced a service issue. Try your call again. +// +// * ThrottlingException +// Amazon Rekognition is temporarily unable to process the request. Try your +// call again. +// +// * ProvisionedThroughputExceededException +// The number of requests exceeded your throughput limit. If you want to increase +// this limit, contact Amazon Rekognition. +// +// * InvalidImageFormatException +// The provided image format is not supported. +// +func (c *Rekognition) DetectProtectiveEquipment(input *DetectProtectiveEquipmentInput) (*DetectProtectiveEquipmentOutput, error) { + req, out := c.DetectProtectiveEquipmentRequest(input) + return out, req.Send() +} + +// DetectProtectiveEquipmentWithContext is the same as DetectProtectiveEquipment with the addition of +// the ability to pass a context and additional request options. +// +// See DetectProtectiveEquipment 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 *Rekognition) DetectProtectiveEquipmentWithContext(ctx aws.Context, input *DetectProtectiveEquipmentInput, opts ...request.Option) (*DetectProtectiveEquipmentOutput, error) { + req, out := c.DetectProtectiveEquipmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDetectText = "DetectText" // DetectTextRequest generates a "aws/request.Request" representing the @@ -4073,6 +4210,10 @@ func (c *Rekognition) IndexFacesRequest(input *IndexFacesInput) (req *request.Re // * InvalidImageFormatException // The provided image format is not supported. // +// * ServiceQuotaExceededException +// The size of the collection exceeds the allowed limit. For more information, +// see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide. +// func (c *Rekognition) IndexFaces(input *IndexFacesInput) (*IndexFacesOutput, error) { req, out := c.IndexFacesRequest(input) return out, req.Send() @@ -6588,10 +6729,10 @@ func (s *Beard) SetValue(v bool) *Beard { return s } -// Identifies the bounding box around the label, face, or text. The left (x-coordinate) -// and top (y-coordinate) are coordinates representing the top and left sides -// of the bounding box. Note that the upper-left corner of the image is the -// origin (0,0). +// Identifies the bounding box around the label, face, text or personal protective +// equipment. The left (x-coordinate) and top (y-coordinate) are coordinates +// representing the top and left sides of the bounding box. Note that the upper-left +// corner of the image is the origin (0,0). // // The top and left values returned are ratios of the overall image size. For // example, if the input image is 700x200 pixels, and the top-left coordinate @@ -7187,6 +7328,40 @@ func (s *ContentModerationDetection) SetTimestamp(v int64) *ContentModerationDet return s } +// Information about an item of Personal Protective Equipment covering a corresponding +// body part. For more information, see DetectProtectiveEquipment. +type CoversBodyPart struct { + _ struct{} `type:"structure"` + + // The confidence that Amazon Rekognition has in the value of Value. + Confidence *float64 `type:"float"` + + // True if the PPE covers the corresponding body part, otherwise false. + Value *bool `type:"boolean"` +} + +// String returns the string representation +func (s CoversBodyPart) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CoversBodyPart) GoString() string { + return s.String() +} + +// SetConfidence sets the Confidence field's value. +func (s *CoversBodyPart) SetConfidence(v float64) *CoversBodyPart { + s.Confidence = &v + return s +} + +// SetValue sets the Value field's value. +func (s *CoversBodyPart) SetValue(v bool) *CoversBodyPart { + s.Value = &v + return s +} + type CreateCollectionInput struct { _ struct{} `type:"structure"` @@ -8918,6 +9093,108 @@ func (s *DetectModerationLabelsOutput) SetModerationModelVersion(v string) *Dete return s } +type DetectProtectiveEquipmentInput struct { + _ struct{} `type:"structure"` + + // The image in which you want to detect PPE on detected persons. The image + // can be passed as image bytes or you can reference an image stored in an Amazon + // S3 bucket. + // + // Image is a required field + Image *Image `type:"structure" required:"true"` + + // An array of PPE types that you want to summarize. + SummarizationAttributes *ProtectiveEquipmentSummarizationAttributes `type:"structure"` +} + +// String returns the string representation +func (s DetectProtectiveEquipmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetectProtectiveEquipmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DetectProtectiveEquipmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetectProtectiveEquipmentInput"} + if s.Image == nil { + invalidParams.Add(request.NewErrParamRequired("Image")) + } + if s.Image != nil { + if err := s.Image.Validate(); err != nil { + invalidParams.AddNested("Image", err.(request.ErrInvalidParams)) + } + } + if s.SummarizationAttributes != nil { + if err := s.SummarizationAttributes.Validate(); err != nil { + invalidParams.AddNested("SummarizationAttributes", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImage sets the Image field's value. +func (s *DetectProtectiveEquipmentInput) SetImage(v *Image) *DetectProtectiveEquipmentInput { + s.Image = v + return s +} + +// SetSummarizationAttributes sets the SummarizationAttributes field's value. +func (s *DetectProtectiveEquipmentInput) SetSummarizationAttributes(v *ProtectiveEquipmentSummarizationAttributes) *DetectProtectiveEquipmentInput { + s.SummarizationAttributes = v + return s +} + +type DetectProtectiveEquipmentOutput struct { + _ struct{} `type:"structure"` + + // An array of persons detected in the image (including persons not wearing + // PPE). + Persons []*ProtectiveEquipmentPerson `type:"list"` + + // The version number of the PPE detection model used to detect PPE in the image. + ProtectiveEquipmentModelVersion *string `type:"string"` + + // Summary information for the types of PPE specified in the SummarizationAttributes + // input parameter. + Summary *ProtectiveEquipmentSummary `type:"structure"` +} + +// String returns the string representation +func (s DetectProtectiveEquipmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetectProtectiveEquipmentOutput) GoString() string { + return s.String() +} + +// SetPersons sets the Persons field's value. +func (s *DetectProtectiveEquipmentOutput) SetPersons(v []*ProtectiveEquipmentPerson) *DetectProtectiveEquipmentOutput { + s.Persons = v + return s +} + +// SetProtectiveEquipmentModelVersion sets the ProtectiveEquipmentModelVersion field's value. +func (s *DetectProtectiveEquipmentOutput) SetProtectiveEquipmentModelVersion(v string) *DetectProtectiveEquipmentOutput { + s.ProtectiveEquipmentModelVersion = &v + return s +} + +// SetSummary sets the Summary field's value. +func (s *DetectProtectiveEquipmentOutput) SetSummary(v *ProtectiveEquipmentSummary) *DetectProtectiveEquipmentOutput { + s.Summary = v + return s +} + // A set of optional parameters that you can use to set the criteria that the // text must meet to be included in your response. WordFilter looks at a word’s // height, width, and minimum confidence. RegionOfInterest lets you set a specific @@ -9132,6 +9409,59 @@ func (s *Emotion) SetType(v string) *Emotion { return s } +// Information about an item of Personal Protective Equipment (PPE) detected +// by DetectProtectiveEquipment. For more information, see DetectProtectiveEquipment. +type EquipmentDetection struct { + _ struct{} `type:"structure"` + + // A bounding box surrounding the item of detected PPE. + BoundingBox *BoundingBox `type:"structure"` + + // The confidence that Amazon Rekognition has that the bounding box (BoundingBox) + // contains an item of PPE. + Confidence *float64 `type:"float"` + + // Information about the body part covered by the detected PPE. + CoversBodyPart *CoversBodyPart `type:"structure"` + + // The type of detected PPE. + Type *string `type:"string" enum:"ProtectiveEquipmentType"` +} + +// String returns the string representation +func (s EquipmentDetection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EquipmentDetection) GoString() string { + return s.String() +} + +// SetBoundingBox sets the BoundingBox field's value. +func (s *EquipmentDetection) SetBoundingBox(v *BoundingBox) *EquipmentDetection { + s.BoundingBox = v + return s +} + +// SetConfidence sets the Confidence field's value. +func (s *EquipmentDetection) SetConfidence(v float64) *EquipmentDetection { + s.Confidence = &v + return s +} + +// SetCoversBodyPart sets the CoversBodyPart field's value. +func (s *EquipmentDetection) SetCoversBodyPart(v *CoversBodyPart) *EquipmentDetection { + s.CoversBodyPart = v + return s +} + +// SetType sets the Type field's value. +func (s *EquipmentDetection) SetType(v string) *EquipmentDetection { + s.Type = &v + return s +} + // The evaluation results for the training of a model. type EvaluationResult struct { _ struct{} `type:"structure"` @@ -13103,6 +13433,238 @@ func (s *ProjectVersionDescription) SetTrainingEndTimestamp(v time.Time) *Projec return s } +// Information about a body part detected by DetectProtectiveEquipment that +// contains PPE. An array of ProtectiveEquipmentBodyPart objects is returned +// for each person detected by DetectProtectiveEquipment. +type ProtectiveEquipmentBodyPart struct { + _ struct{} `type:"structure"` + + // The confidence that Amazon Rekognition has in the detection accuracy of the + // detected body part. + Confidence *float64 `type:"float"` + + // An array of Personal Protective Equipment items detected around a body part. + EquipmentDetections []*EquipmentDetection `type:"list"` + + // The detected body part. + Name *string `type:"string" enum:"BodyPart"` +} + +// String returns the string representation +func (s ProtectiveEquipmentBodyPart) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProtectiveEquipmentBodyPart) GoString() string { + return s.String() +} + +// SetConfidence sets the Confidence field's value. +func (s *ProtectiveEquipmentBodyPart) SetConfidence(v float64) *ProtectiveEquipmentBodyPart { + s.Confidence = &v + return s +} + +// SetEquipmentDetections sets the EquipmentDetections field's value. +func (s *ProtectiveEquipmentBodyPart) SetEquipmentDetections(v []*EquipmentDetection) *ProtectiveEquipmentBodyPart { + s.EquipmentDetections = v + return s +} + +// SetName sets the Name field's value. +func (s *ProtectiveEquipmentBodyPart) SetName(v string) *ProtectiveEquipmentBodyPart { + s.Name = &v + return s +} + +// A person detected by a call to DetectProtectiveEquipment. The API returns +// all persons detected in the input image in an array of ProtectiveEquipmentPerson +// objects. +type ProtectiveEquipmentPerson struct { + _ struct{} `type:"structure"` + + // An array of body parts detected on a person's body (including body parts + // without PPE). + BodyParts []*ProtectiveEquipmentBodyPart `type:"list"` + + // A bounding box around the detected person. + BoundingBox *BoundingBox `type:"structure"` + + // The confidence that Amazon Rekognition has that the bounding box contains + // a person. + Confidence *float64 `type:"float"` + + // The identifier for the detected person. The identifier is only unique for + // a single call to DetectProtectiveEquipment. + Id *int64 `type:"integer"` +} + +// String returns the string representation +func (s ProtectiveEquipmentPerson) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProtectiveEquipmentPerson) GoString() string { + return s.String() +} + +// SetBodyParts sets the BodyParts field's value. +func (s *ProtectiveEquipmentPerson) SetBodyParts(v []*ProtectiveEquipmentBodyPart) *ProtectiveEquipmentPerson { + s.BodyParts = v + return s +} + +// SetBoundingBox sets the BoundingBox field's value. +func (s *ProtectiveEquipmentPerson) SetBoundingBox(v *BoundingBox) *ProtectiveEquipmentPerson { + s.BoundingBox = v + return s +} + +// SetConfidence sets the Confidence field's value. +func (s *ProtectiveEquipmentPerson) SetConfidence(v float64) *ProtectiveEquipmentPerson { + s.Confidence = &v + return s +} + +// SetId sets the Id field's value. +func (s *ProtectiveEquipmentPerson) SetId(v int64) *ProtectiveEquipmentPerson { + s.Id = &v + return s +} + +// Specifies summary attributes to return from a call to DetectProtectiveEquipment. +// You can specify which types of PPE to summarize. You can also specify a minimum +// confidence value for detections. Summary information is returned in the Summary +// (ProtectiveEquipmentSummary) field of the response from DetectProtectiveEquipment. +// The summary includes which persons in an image were detected wearing the +// requested types of person protective equipment (PPE), which persons were +// detected as not wearing PPE, and the persons in which a determination could +// not be made. For more information, see ProtectiveEquipmentSummary. +type ProtectiveEquipmentSummarizationAttributes struct { + _ struct{} `type:"structure"` + + // The minimum confidence level for which you want summary information. The + // confidence level applies to person detection, body part detection, equipment + // detection, and body part coverage. Amazon Rekognition doesn't return summary + // information with a confidence than this specified value. There isn't a default + // value. + // + // Specify a MinConfidence value that is between 50-100% as DetectProtectiveEquipment + // returns predictions only where the detection confidence is between 50% - + // 100%. If you specify a value that is less than 50%, the results are the same + // specifying a value of 50%. + // + // MinConfidence is a required field + MinConfidence *float64 `type:"float" required:"true"` + + // An array of personal protective equipment types for which you want summary + // information. If a person is detected wearing a required requipment type, + // the person's ID is added to the PersonsWithRequiredEquipment array field + // returned in ProtectiveEquipmentSummary by DetectProtectiveEquipment. + // + // RequiredEquipmentTypes is a required field + RequiredEquipmentTypes []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s ProtectiveEquipmentSummarizationAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProtectiveEquipmentSummarizationAttributes) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProtectiveEquipmentSummarizationAttributes) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProtectiveEquipmentSummarizationAttributes"} + if s.MinConfidence == nil { + invalidParams.Add(request.NewErrParamRequired("MinConfidence")) + } + if s.RequiredEquipmentTypes == nil { + invalidParams.Add(request.NewErrParamRequired("RequiredEquipmentTypes")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMinConfidence sets the MinConfidence field's value. +func (s *ProtectiveEquipmentSummarizationAttributes) SetMinConfidence(v float64) *ProtectiveEquipmentSummarizationAttributes { + s.MinConfidence = &v + return s +} + +// SetRequiredEquipmentTypes sets the RequiredEquipmentTypes field's value. +func (s *ProtectiveEquipmentSummarizationAttributes) SetRequiredEquipmentTypes(v []*string) *ProtectiveEquipmentSummarizationAttributes { + s.RequiredEquipmentTypes = v + return s +} + +// Summary information for required items of personal protective equipment (PPE) +// detected on persons by a call to DetectProtectiveEquipment. You specify the +// required type of PPE in the SummarizationAttributes (ProtectiveEquipmentSummarizationAttributes) +// input parameter. The summary includes which persons were detected wearing +// the required personal protective equipment (PersonsWithRequiredEquipment), +// which persons were detected as not wearing the required PPE (PersonsWithoutRequiredEquipment), +// and the persons in which a determination could not be made (PersonsIndeterminate). +// +// To get a total for each category, use the size of the field array. For example, +// to find out how many people were detected as wearing the specified PPE, use +// the size of the PersonsWithRequiredEquipment array. If you want to find out +// more about a person, such as the location (BoundingBox) of the person on +// the image, use the person ID in each array element. Each person ID matches +// the ID field of a ProtectiveEquipmentPerson object returned in the Persons +// array by DetectProtectiveEquipment. +type ProtectiveEquipmentSummary struct { + _ struct{} `type:"structure"` + + // An array of IDs for persons where it was not possible to determine if they + // are wearing personal protective equipment. + PersonsIndeterminate []*int64 `type:"list"` + + // An array of IDs for persons who are wearing detected personal protective + // equipment. + PersonsWithRequiredEquipment []*int64 `type:"list"` + + // An array of IDs for persons who are not wearing all of the types of PPE specified + // in the RequiredEquipmentTypes field of the detected personal protective equipment. + PersonsWithoutRequiredEquipment []*int64 `type:"list"` +} + +// String returns the string representation +func (s ProtectiveEquipmentSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProtectiveEquipmentSummary) GoString() string { + return s.String() +} + +// SetPersonsIndeterminate sets the PersonsIndeterminate field's value. +func (s *ProtectiveEquipmentSummary) SetPersonsIndeterminate(v []*int64) *ProtectiveEquipmentSummary { + s.PersonsIndeterminate = v + return s +} + +// SetPersonsWithRequiredEquipment sets the PersonsWithRequiredEquipment field's value. +func (s *ProtectiveEquipmentSummary) SetPersonsWithRequiredEquipment(v []*int64) *ProtectiveEquipmentSummary { + s.PersonsWithRequiredEquipment = v + return s +} + +// SetPersonsWithoutRequiredEquipment sets the PersonsWithoutRequiredEquipment field's value. +func (s *ProtectiveEquipmentSummary) SetPersonsWithoutRequiredEquipment(v []*int64) *ProtectiveEquipmentSummary { + s.PersonsWithoutRequiredEquipment = v + return s +} + // The number of requests exceeded your throughput limit. If you want to increase // this limit, contact Amazon Rekognition. type ProvisionedThroughputExceededException struct { @@ -14009,6 +14571,63 @@ func (s *SegmentTypeInfo) SetType(v string) *SegmentTypeInfo { return s } +// The size of the collection exceeds the allowed limit. For more information, +// see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) 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 *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + // Information about a shot detection segment detected in a video. For more // information, see SegmentDetection. type ShotSegment struct { @@ -16410,6 +17029,30 @@ func Attribute_Values() []string { } } +const ( + // BodyPartFace is a BodyPart enum value + BodyPartFace = "FACE" + + // BodyPartHead is a BodyPart enum value + BodyPartHead = "HEAD" + + // BodyPartLeftHand is a BodyPart enum value + BodyPartLeftHand = "LEFT_HAND" + + // BodyPartRightHand is a BodyPart enum value + BodyPartRightHand = "RIGHT_HAND" +) + +// BodyPart_Values returns all elements of the BodyPart enum +func BodyPart_Values() []string { + return []string{ + BodyPartFace, + BodyPartHead, + BodyPartLeftHand, + BodyPartRightHand, + } +} + const ( // CelebrityRecognitionSortById is a CelebrityRecognitionSortBy enum value CelebrityRecognitionSortById = "ID" @@ -16798,6 +17441,26 @@ func ProjectVersionStatus_Values() []string { } } +const ( + // ProtectiveEquipmentTypeFaceCover is a ProtectiveEquipmentType enum value + ProtectiveEquipmentTypeFaceCover = "FACE_COVER" + + // ProtectiveEquipmentTypeHandCover is a ProtectiveEquipmentType enum value + ProtectiveEquipmentTypeHandCover = "HAND_COVER" + + // ProtectiveEquipmentTypeHeadCover is a ProtectiveEquipmentType enum value + ProtectiveEquipmentTypeHeadCover = "HEAD_COVER" +) + +// ProtectiveEquipmentType_Values returns all elements of the ProtectiveEquipmentType enum +func ProtectiveEquipmentType_Values() []string { + return []string{ + ProtectiveEquipmentTypeFaceCover, + ProtectiveEquipmentTypeHandCover, + ProtectiveEquipmentTypeHeadCover, + } +} + const ( // QualityFilterNone is a QualityFilter enum value QualityFilterNone = "NONE" diff --git a/service/rekognition/errors.go b/service/rekognition/errors.go index e65541ddb20..5e4c3966379 100644 --- a/service/rekognition/errors.go +++ b/service/rekognition/errors.go @@ -109,6 +109,13 @@ const ( // you call DetectCustomLabels with a model version that isn't deployed. ErrCodeResourceNotReadyException = "ResourceNotReadyException" + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The size of the collection exceeds the allowed limit. For more information, + // see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + // ErrCodeThrottlingException for service response error code // "ThrottlingException". // @@ -140,6 +147,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ResourceInUseException": newErrorResourceInUseException, "ResourceNotFoundException": newErrorResourceNotFoundException, "ResourceNotReadyException": newErrorResourceNotReadyException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, "ThrottlingException": newErrorThrottlingException, "VideoTooLargeException": newErrorVideoTooLargeException, } diff --git a/service/rekognition/examples_test.go b/service/rekognition/examples_test.go index 6f05faf3db9..2006dfe15f3 100644 --- a/service/rekognition/examples_test.go +++ b/service/rekognition/examples_test.go @@ -338,6 +338,8 @@ func ExampleRekognition_IndexFaces_shared00() { fmt.Println(rekognition.ErrCodeResourceNotFoundException, aerr.Error()) case rekognition.ErrCodeInvalidImageFormatException: fmt.Println(rekognition.ErrCodeInvalidImageFormatException, aerr.Error()) + case rekognition.ErrCodeServiceQuotaExceededException: + fmt.Println(rekognition.ErrCodeServiceQuotaExceededException, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/rekognition/rekognitioniface/interface.go b/service/rekognition/rekognitioniface/interface.go index 9028238ec0d..b58bc8233c3 100644 --- a/service/rekognition/rekognitioniface/interface.go +++ b/service/rekognition/rekognitioniface/interface.go @@ -138,6 +138,10 @@ type RekognitionAPI interface { DetectModerationLabelsWithContext(aws.Context, *rekognition.DetectModerationLabelsInput, ...request.Option) (*rekognition.DetectModerationLabelsOutput, error) DetectModerationLabelsRequest(*rekognition.DetectModerationLabelsInput) (*request.Request, *rekognition.DetectModerationLabelsOutput) + DetectProtectiveEquipment(*rekognition.DetectProtectiveEquipmentInput) (*rekognition.DetectProtectiveEquipmentOutput, error) + DetectProtectiveEquipmentWithContext(aws.Context, *rekognition.DetectProtectiveEquipmentInput, ...request.Option) (*rekognition.DetectProtectiveEquipmentOutput, error) + DetectProtectiveEquipmentRequest(*rekognition.DetectProtectiveEquipmentInput) (*request.Request, *rekognition.DetectProtectiveEquipmentOutput) + DetectText(*rekognition.DetectTextInput) (*rekognition.DetectTextOutput, error) DetectTextWithContext(aws.Context, *rekognition.DetectTextInput, ...request.Option) (*rekognition.DetectTextOutput, error) DetectTextRequest(*rekognition.DetectTextInput) (*request.Request, *rekognition.DetectTextOutput) diff --git a/service/ssm/api.go b/service/ssm/api.go index ccbd4bc6d12..da137dbd72f 100644 --- a/service/ssm/api.go +++ b/service/ssm/api.go @@ -8566,7 +8566,7 @@ func (c *SSM) GetParameterHistoryRequest(input *GetParameterHistoryInput) (req * // GetParameterHistory API operation for Amazon Simple Systems Manager (SSM). // -// Query a list of all parameters used by the AWS account. +// Retrieves the history of all changes to a 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 @@ -28273,7 +28273,7 @@ type GetParameterHistoryInput struct { // results. MaxResults *int64 `min:"1" type:"integer"` - // The name of a parameter you want to query. + // The name of the parameter for which you want to review history. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -38727,7 +38727,25 @@ func (s *ParametersFilter) SetValues(v []*string) *ParametersFilter { type Patch struct { _ struct{} `type:"structure"` - // The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates). + // The Advisory ID of the patch. For example, RHSA-2020:3779. Applies to Linux-based + // instances only. + AdvisoryIds []*string `type:"list"` + + // The architecture of the patch. For example, in example-pkg-0.710.10-2.7.abcd.x86_64, + // the architecture is indicated by x86_64. Applies to Linux-based instances + // only. + Arch *string `type:"string"` + + // The Bugzilla ID of the patch. For example, 1600646. Applies to Linux-based + // instances only. + BugzillaIds []*string `type:"list"` + + // The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example, + // CVE-1999-0067. Applies to Linux-based instances only. + CVEIds []*string `type:"list"` + + // The classification of the patch. For example, SecurityUpdates, Updates, or + // CriticalUpdates. Classification *string `type:"string"` // The URL where more information can be obtained about the patch. @@ -38736,36 +38754,65 @@ type Patch struct { // The description of the patch. Description *string `type:"string"` - // The ID of the patch (this is different than the Microsoft Knowledge Base - // ID). + // The epoch of the patch. For example in pkg-example-EE-20180914-2.2.amzn1.noarch, + // the epoch value is 20180914-2. Applies to Linux-based instances only. + Epoch *int64 `type:"integer"` + + // The ID of the patch. Applies to Windows patches only. + // + // This ID is not the same as the Microsoft Knowledge Base ID. Id *string `min:"1" type:"string"` - // The Microsoft Knowledge Base ID of the patch. + // The Microsoft Knowledge Base ID of the patch. Applies to Windows patches + // only. KbNumber *string `type:"string"` // The language of the patch if it's language-specific. Language *string `type:"string"` - // The ID of the MSRC bulletin the patch is related to. + // The ID of the Microsoft Security Response Center (MSRC) bulletin the patch + // is related to. For example, MS14-045. Applies to Windows patches only. MsrcNumber *string `type:"string"` - // The severity of the patch (for example Critical, Important, Moderate). + // The severity of the patch, such as Critical, Important, or Moderate. Applies + // to Windows patches only. MsrcSeverity *string `type:"string"` - // The specific product the patch is applicable for (for example, WindowsServer2016). + // The name of the patch. Applies to Linux-based instances only. + Name *string `type:"string"` + + // The specific product the patch is applicable for. For example, WindowsServer2016 + // or AmazonLinux2018.03. Product *string `type:"string"` - // The product family the patch is applicable for (for example, Windows). + // The product family the patch is applicable for. For example, Windows or Amazon + // Linux 2. ProductFamily *string `type:"string"` + // The particular release of a patch. For example, in pkg-example-EE-20180914-2.2.amzn1.noarch, + // the release is 2.amaz1. Applies to Linux-based instances only. + Release *string `type:"string"` + // The date the patch was released. ReleaseDate *time.Time `type:"timestamp"` + // The source patch repository for the operating system and version, such as + // trusty-security for Ubuntu Server 14.04 LTE and focal-security for Ubuntu + // Server 20.04 LTE. Applies to Linux-based instances only. + Repository *string `type:"string"` + + // The severity level of the patch. For example, CRITICAL or MODERATE. + Severity *string `type:"string"` + // The title of the patch. Title *string `type:"string"` // The name of the vendor providing the patch. Vendor *string `type:"string"` + + // The version number of the patch. For example, in example-pkg-1.710.10-2.7.abcd.x86_64, + // the version number is indicated by -1. Applies to Linux-based instances only. + Version *string `type:"string"` } // String returns the string representation @@ -38778,6 +38825,30 @@ func (s Patch) GoString() string { return s.String() } +// SetAdvisoryIds sets the AdvisoryIds field's value. +func (s *Patch) SetAdvisoryIds(v []*string) *Patch { + s.AdvisoryIds = v + return s +} + +// SetArch sets the Arch field's value. +func (s *Patch) SetArch(v string) *Patch { + s.Arch = &v + return s +} + +// SetBugzillaIds sets the BugzillaIds field's value. +func (s *Patch) SetBugzillaIds(v []*string) *Patch { + s.BugzillaIds = v + return s +} + +// SetCVEIds sets the CVEIds field's value. +func (s *Patch) SetCVEIds(v []*string) *Patch { + s.CVEIds = v + return s +} + // SetClassification sets the Classification field's value. func (s *Patch) SetClassification(v string) *Patch { s.Classification = &v @@ -38796,6 +38867,12 @@ func (s *Patch) SetDescription(v string) *Patch { return s } +// SetEpoch sets the Epoch field's value. +func (s *Patch) SetEpoch(v int64) *Patch { + s.Epoch = &v + return s +} + // SetId sets the Id field's value. func (s *Patch) SetId(v string) *Patch { s.Id = &v @@ -38826,6 +38903,12 @@ func (s *Patch) SetMsrcSeverity(v string) *Patch { return s } +// SetName sets the Name field's value. +func (s *Patch) SetName(v string) *Patch { + s.Name = &v + return s +} + // SetProduct sets the Product field's value. func (s *Patch) SetProduct(v string) *Patch { s.Product = &v @@ -38838,12 +38921,30 @@ func (s *Patch) SetProductFamily(v string) *Patch { return s } +// SetRelease sets the Release field's value. +func (s *Patch) SetRelease(v string) *Patch { + s.Release = &v + return s +} + // SetReleaseDate sets the ReleaseDate field's value. func (s *Patch) SetReleaseDate(v time.Time) *Patch { s.ReleaseDate = &v return s } +// SetRepository sets the Repository field's value. +func (s *Patch) SetRepository(v string) *Patch { + s.Repository = &v + return s +} + +// SetSeverity sets the Severity field's value. +func (s *Patch) SetSeverity(v string) *Patch { + s.Severity = &v + return s +} + // SetTitle sets the Title field's value. func (s *Patch) SetTitle(v string) *Patch { s.Title = &v @@ -38856,6 +38957,12 @@ func (s *Patch) SetVendor(v string) *Patch { return s } +// SetVersion sets the Version field's value. +func (s *Patch) SetVersion(v string) *Patch { + s.Version = &v + return s +} + // Defines the basic information about a patch baseline. type PatchBaselineIdentity struct { _ struct{} `type:"structure"` @@ -48760,6 +48867,15 @@ func PatchDeploymentStatus_Values() []string { } const ( + // PatchFilterKeyArch is a PatchFilterKey enum value + PatchFilterKeyArch = "ARCH" + + // PatchFilterKeyAdvisoryId is a PatchFilterKey enum value + PatchFilterKeyAdvisoryId = "ADVISORY_ID" + + // PatchFilterKeyBugzillaId is a PatchFilterKey enum value + PatchFilterKeyBugzillaId = "BUGZILLA_ID" + // PatchFilterKeyPatchSet is a PatchFilterKey enum value PatchFilterKeyPatchSet = "PATCH_SET" @@ -48772,9 +48888,18 @@ const ( // PatchFilterKeyClassification is a PatchFilterKey enum value PatchFilterKeyClassification = "CLASSIFICATION" + // PatchFilterKeyCveId is a PatchFilterKey enum value + PatchFilterKeyCveId = "CVE_ID" + + // PatchFilterKeyEpoch is a PatchFilterKey enum value + PatchFilterKeyEpoch = "EPOCH" + // PatchFilterKeyMsrcSeverity is a PatchFilterKey enum value PatchFilterKeyMsrcSeverity = "MSRC_SEVERITY" + // PatchFilterKeyName is a PatchFilterKey enum value + PatchFilterKeyName = "NAME" + // PatchFilterKeyPatchId is a PatchFilterKey enum value PatchFilterKeyPatchId = "PATCH_ID" @@ -48784,22 +48909,44 @@ const ( // PatchFilterKeyPriority is a PatchFilterKey enum value PatchFilterKeyPriority = "PRIORITY" + // PatchFilterKeyRepository is a PatchFilterKey enum value + PatchFilterKeyRepository = "REPOSITORY" + + // PatchFilterKeyRelease is a PatchFilterKey enum value + PatchFilterKeyRelease = "RELEASE" + // PatchFilterKeySeverity is a PatchFilterKey enum value PatchFilterKeySeverity = "SEVERITY" + + // PatchFilterKeySecurity is a PatchFilterKey enum value + PatchFilterKeySecurity = "SECURITY" + + // PatchFilterKeyVersion is a PatchFilterKey enum value + PatchFilterKeyVersion = "VERSION" ) // PatchFilterKey_Values returns all elements of the PatchFilterKey enum func PatchFilterKey_Values() []string { return []string{ + PatchFilterKeyArch, + PatchFilterKeyAdvisoryId, + PatchFilterKeyBugzillaId, PatchFilterKeyPatchSet, PatchFilterKeyProduct, PatchFilterKeyProductFamily, PatchFilterKeyClassification, + PatchFilterKeyCveId, + PatchFilterKeyEpoch, PatchFilterKeyMsrcSeverity, + PatchFilterKeyName, PatchFilterKeyPatchId, PatchFilterKeySection, PatchFilterKeyPriority, + PatchFilterKeyRepository, + PatchFilterKeyRelease, PatchFilterKeySeverity, + PatchFilterKeySecurity, + PatchFilterKeyVersion, } } diff --git a/service/transfer/api.go b/service/transfer/api.go index 1a8170f85fc..3ff005236c0 100644 --- a/service/transfer/api.go +++ b/service/transfer/api.go @@ -1634,8 +1634,10 @@ func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Reque // Changes the state of a file transfer protocol-enabled server from ONLINE // to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. // Information tied to your server, such as server and user properties, are -// not affected by stopping your server. Stopping the server will not reduce -// or impact your file transfer protocol endpoint billing. +// not affected by stopping your server. +// +// Stopping the server will not reduce or impact your file transfer protocol +// endpoint billing; you must delete the server to stop being billed. // // The state of STOPPING indicates that the server is in an intermediate state, // either not fully able to respond, or not fully offline. The values of STOP_FAILED @@ -2332,16 +2334,15 @@ type CreateServerInput struct { Certificate *string `type:"string"` // The virtual private cloud (VPC) endpoint settings that are configured for - // your file transfer protocol-enabled server. When you host your endpoint within - // your VPC, you can make it accessible only to resources within your VPC, or - // you can attach Elastic IPs and make it accessible to clients over the internet. - // Your VPC's default security groups are automatically assigned to your endpoint. + // your server. When you host your endpoint within your VPC, you can make it + // accessible only to resources within your VPC, or you can attach Elastic IPs + // and make it accessible to clients over the internet. Your VPC's default security + // groups are automatically assigned to your endpoint. EndpointDetails *EndpointDetails `type:"structure"` - // The type of VPC endpoint that you want your file transfer protocol-enabled - // server to connect to. You can choose to connect to the public internet or - // a VPC endpoint. With a VPC endpoint, you can restrict access to your server - // and resources only within your VPC. + // The type of VPC endpoint that you want your server to connect to. You can + // choose to connect to the public internet or a VPC endpoint. With a VPC endpoint, + // you can restrict access to your server and resources only within your VPC. // // It is recommended that you use VPC as the EndpointType. With this endpoint // type, you have the option to directly associate up to three Elastic IPv4 @@ -2368,12 +2369,12 @@ type CreateServerInput struct { // is set to SERVICE_MANAGED. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` - // Specifies the mode of authentication for a file transfer protocol-enabled - // server. The default value is SERVICE_MANAGED, which allows you to store and - // access user credentials within the AWS Transfer Family service. Use the API_GATEWAY - // value to integrate with an identity provider of your choosing. The API_GATEWAY - // setting requires you to provide an API Gateway endpoint URL to call for authentication - // using the IdentityProviderDetails parameter. + // Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, + // which allows you to store and access user credentials within the AWS Transfer + // Family service. Use the API_GATEWAY value to integrate with an identity provider + // of your choosing. The API_GATEWAY setting requires you to provide an API + // Gateway endpoint URL to call for authentication using the IdentityProviderDetails + // parameter. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` // Allows the service to write your users' activity to your Amazon CloudWatch @@ -2392,8 +2393,8 @@ type CreateServerInput struct { // * FTP (File Transfer Protocol): Unencrypted file transfer // // If you select FTPS, you must choose a certificate stored in AWS Certificate - // Manager (ACM) which will be used to identify your file transfer protocol-enabled - // server when clients connect to it over FTPS. + // Manager (ACM) which will be used to identify your server when clients connect + // to it over FTPS. // // If Protocol includes either FTP or FTPS, then the EndpointType must be VPC // and the IdentityProviderType must be API_GATEWAY. @@ -2407,8 +2408,7 @@ type CreateServerInput struct { // Specifies the name of the security policy that is attached to the server. SecurityPolicyName *string `type:"string"` - // Key-value pairs that can be used to group and search for file transfer protocol-enabled - // servers. + // Key-value pairs that can be used to group and search for servers. Tags []*Tag `min:"1" type:"list"` } @@ -2524,8 +2524,7 @@ func (s *CreateServerInput) SetTags(v []*Tag) *CreateServerInput { type CreateServerOutput struct { _ struct{} `type:"structure"` - // The service-assigned ID of the file transfer protocol-enabled server that - // is created. + // The service-assigned ID of the server that is created. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -2550,8 +2549,8 @@ func (s *CreateServerOutput) SetServerId(v string) *CreateServerOutput { type CreateUserInput struct { _ struct{} `type:"structure"` - // The landing directory (folder) for a user when they log in to the file transfer - // protocol-enabled server using the client. + // The landing directory (folder) for a user when they log in to the server + // using the client. // // An example is your-Amazon-S3-bucket-name>/home/username . HomeDirectory *string `type:"string"` @@ -2580,11 +2579,11 @@ type CreateUserInput struct { HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` // The type of landing directory (folder) you want your users' home directory - // to be when they log into the file transfer protocol-enabled server. If you - // set it to PATH, the user will see the absolute Amazon S3 bucket paths as - // is in their file transfer protocol clients. If you set it LOGICAL, you will - // need to provide mappings in the HomeDirectoryMappings for how you want to - // make Amazon S3 paths visible to your users. + // to be when they log into the server. If you set it to PATH, the user will + // see the absolute Amazon S3 bucket paths as is in their file transfer protocol + // clients. If you set it LOGICAL, you will need to provide mappings in the + // HomeDirectoryMappings for how you want to make Amazon S3 paths visible to + // your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` // A scope-down policy for your user so you can use the same IAM role across @@ -2606,32 +2605,31 @@ type CreateUserInput struct { // policies attached to this role will determine the level of access you want // to provide your users when transferring files into and out of your Amazon // S3 bucket or buckets. The IAM role should also contain a trust relationship - // that allows the file transfer protocol-enabled server to access your resources - // when servicing your users' transfer requests. + // that allows the server to access your resources when servicing your users' + // transfer requests. // // Role is a required field Role *string `min:"20" type:"string" required:"true"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server instance. This is the specific server that you added your user to. + // A system-assigned unique identifier for a server instance. This is the specific + // server that you added your user to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` // The public portion of the Secure Shell (SSH) key used to authenticate the - // user to the file transfer protocol-enabled server. + // user to the server. SshPublicKeyBody *string `type:"string"` // Key-value pairs that can be used to group and search for users. Tags are // metadata attached to users for any purpose. Tags []*Tag `min:"1" type:"list"` - // A unique string that identifies a user and is associated with a file transfer - // protocol-enabled server as specified by the ServerId. This user name must - // be a minimum of 3 and a maximum of 100 characters long. The following are - // valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', - // and at sign '@'. The user name can't start with a hyphen, period, and at - // sign. + // A unique string that identifies a user and is associated with a as specified + // by the ServerId. This user name must be a minimum of 3 and a maximum of 100 + // characters long. The following are valid characters: a-z, A-Z, 0-9, underscore + // '_', hyphen '-', period '.', and at sign '@'. The user name can't start with + // a hyphen, period, or at sign. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -2758,14 +2756,12 @@ func (s *CreateUserInput) SetUserName(v string) *CreateUserInput { type CreateUserOutput struct { _ struct{} `type:"structure"` - // The ID of the file transfer protocol-enabled server that the user is attached - // to. + // The ID of the server that the user is attached to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // A unique string that identifies a user account associated with a file transfer - // protocol-enabled server. + // A unique string that identifies a user account associated with a server. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -2796,8 +2792,7 @@ func (s *CreateUserOutput) SetUserName(v string) *CreateUserOutput { type DeleteServerInput struct { _ struct{} `type:"structure"` - // A unique system-assigned identifier for a file transfer protocol-enabled - // server instance. + // A unique system-assigned identifier for a server instance. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -2942,14 +2937,13 @@ func (s DeleteSshPublicKeyOutput) GoString() string { type DeleteUserInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server instance that has the user assigned to it. + // A system-assigned unique identifier for a server instance that has the user + // assigned to it. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // A unique string that identifies a user that is being deleted from a file - // transfer protocol-enabled server. + // A unique string that identifies a user that is being deleted from a server. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -3079,8 +3073,7 @@ func (s *DescribeSecurityPolicyOutput) SetSecurityPolicy(v *DescribedSecurityPol type DescribeServerInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server. + // A system-assigned unique identifier for a server. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -3121,8 +3114,7 @@ func (s *DescribeServerInput) SetServerId(v string) *DescribeServerInput { type DescribeServerOutput struct { _ struct{} `type:"structure"` - // An array containing the properties of a file transfer protocol-enabled server - // with the ServerID you specified. + // An array containing the properties of a server with the ServerID you specified. // // Server is a required field Server *DescribedServer `type:"structure" required:"true"` @@ -3147,15 +3139,14 @@ func (s *DescribeServerOutput) SetServer(v *DescribedServer) *DescribeServerOutp type DescribeUserInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server that has this user assigned. + // A system-assigned unique identifier for a server that has this user assigned. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // The name of the user assigned to one or more file transfer protocol-enabled - // servers. User names are part of the sign-in credentials to use the AWS Transfer - // Family service and perform file transfer tasks. + // The name of the user assigned to one or more servers. User names are part + // of the sign-in credentials to use the AWS Transfer Family service and perform + // file transfer tasks. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -3208,8 +3199,7 @@ func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { type DescribeUserOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server that has this user assigned. + // A system-assigned unique identifier for a server that has this user assigned. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -3325,8 +3315,7 @@ func (s *DescribedSecurityPolicy) SetTlsCiphers(v []*string) *DescribedSecurityP type DescribedServer struct { _ struct{} `type:"structure"` - // Specifies the unique Amazon Resource Name (ARN) of the file transfer protocol-enabled - // server. + // Specifies the unique Amazon Resource Name (ARN) of the server. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` @@ -3336,12 +3325,12 @@ type DescribedServer struct { Certificate *string `type:"string"` // Specifies the virtual private cloud (VPC) endpoint settings that you configured - // for your file transfer protocol-enabled server. + // for your server. EndpointDetails *EndpointDetails `type:"structure"` - // Defines the type of endpoint that your file transfer protocol-enabled server - // is connected to. If your server is connected to a VPC endpoint, your server - // isn't accessible over the public internet. + // Defines the type of endpoint that your server is connected to. If your server + // is connected to a VPC endpoint, your server isn't accessible over the public + // internet. EndpointType *string `type:"string" enum:"EndpointType"` // Specifies the Base64-encoded SHA256 fingerprint of the server's host key. @@ -3350,21 +3339,19 @@ type DescribedServer struct { HostKeyFingerprint *string `type:"string"` // Specifies information to call a customer-supplied authentication API. This - // field is not populated when the IdentityProviderType of a file transfer protocol-enabled - // server is SERVICE_MANAGED. + // field is not populated when the IdentityProviderType of a server is SERVICE_MANAGED. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` // Specifies the mode of authentication method enabled for this service. A value - // of SERVICE_MANAGED means that you are using this file transfer protocol-enabled - // server to store and access user credentials within the service. A value of - // API_GATEWAY indicates that you have integrated an API Gateway endpoint that - // will be invoked for authenticating your user into the service. + // of SERVICE_MANAGED means that you are using this server to store and access + // user credentials within the service. A value of API_GATEWAY indicates that + // you have integrated an API Gateway endpoint that will be invoked for authenticating + // your user into the service. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` // Specifies the AWS Identity and Access Management (IAM) role that allows a - // file transfer protocol-enabled server to turn on Amazon CloudWatch logging - // for Amazon S3 events. When set, user activity can be viewed in your CloudWatch - // logs. + // server to turn on Amazon CloudWatch logging for Amazon S3 events. When set, + // user activity can be viewed in your CloudWatch logs. LoggingRole *string `min:"20" type:"string"` // Specifies the file transfer protocol or protocols over which your file transfer @@ -3382,27 +3369,25 @@ type DescribedServer struct { // Specifies the name of the security policy that is attached to the server. SecurityPolicyName *string `type:"string"` - // Specifies the unique system-assigned identifier for a file transfer protocol-enabled - // server that you instantiate. + // Specifies the unique system-assigned identifier for a server that you instantiate. ServerId *string `min:"19" type:"string"` - // Specifies the condition of a file transfer protocol-enabled server for the - // server that was described. A value of ONLINE indicates that the server can - // accept jobs and transfer files. A State value of OFFLINE means that the server - // cannot perform file transfer operations. + // Specifies the condition of a server for the server that was described. A + // value of ONLINE indicates that the server can accept jobs and transfer files. + // A State value of OFFLINE means that the server cannot perform file transfer + // operations. // // The states of STARTING and STOPPING indicate that the server is in an intermediate // state, either not fully able to respond, or not fully offline. The values // of START_FAILED or STOP_FAILED can indicate an error condition. State *string `type:"string" enum:"State"` - // Specifies the key-value pairs that you can use to search for and group file - // transfer protocol-enabled servers that were assigned to the server that was - // described. + // Specifies the key-value pairs that you can use to search for and group servers + // that were assigned to the server that was described. Tags []*Tag `min:"1" type:"list"` - // Specifies the number of users that are assigned to a file transfer protocol-enabled - // server you specified with the ServerId. + // Specifies the number of users that are assigned to a server you specified + // with the ServerId. UserCount *int64 `type:"integer"` } @@ -3543,8 +3528,8 @@ type DescribedUser struct { // bucket. The policies attached to this role will determine the level of access // you want to provide your users when transferring files into and out of your // Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship - // that allows a file transfer protocol-enabled server to access your resources - // when servicing your users' transfer requests. + // that allows a server to access your resources when servicing your users' + // transfer requests. Role *string `min:"20" type:"string"` // Specifies the public key portion of the Secure Shell (SSH) keys stored for @@ -3557,7 +3542,7 @@ type DescribedUser struct { // Specifies the name of the user that was requested to be described. User names // are used for authentication purposes. This is the string that will be used - // by your user when they log in to your file transfer protocol-enabled server. + // by your user when they log in to your server. UserName *string `min:"3" type:"string"` } @@ -3634,27 +3619,36 @@ type EndpointDetails struct { _ struct{} `type:"structure"` // A list of address allocation IDs that are required to attach an Elastic IP - // address to your file transfer protocol-enabled server's endpoint. This is - // only valid in the UpdateServer API. + // address to your server's endpoint. // - // This property can only be use when EndpointType is set to VPC. + // This property can only be set when EndpointType is set to VPC and it is only + // valid in the UpdateServer API. AddressAllocationIds []*string `type:"list"` - // A list of subnet IDs that are required to host your file transfer protocol-enabled - // server endpoint in your VPC. + // A list of security groups IDs that are available to attach to your server's + // endpoint. // - // This property can only be used when EndpointType is set to VPC. + // This property can only be set when EndpointType is set to VPC. + // + // You can only edit the SecurityGroupIds property in the UpdateServer API and + // only if you are changing the EndpointType from PUBLIC or VPC_ENDPOINT to + // VPC. + SecurityGroupIds []*string `type:"list"` + + // A list of subnet IDs that are required to host your server endpoint in your + // VPC. + // + // This property can only be set when EndpointType is set to VPC. SubnetIds []*string `type:"list"` // The ID of the VPC endpoint. // - // This property can only be used when EndpointType is set to VPC_ENDPOINT. + // This property can only be set when EndpointType is set to VPC_ENDPOINT. VpcEndpointId *string `min:"22" type:"string"` - // The VPC ID of the VPC in which a file transfer protocol-enabled server's - // endpoint will be hosted. + // The VPC ID of the VPC in which a server's endpoint will be hosted. // - // This property can only be used when EndpointType is set to VPC. + // This property can only be set when EndpointType is set to VPC. VpcId *string `type:"string"` } @@ -3687,6 +3681,12 @@ func (s *EndpointDetails) SetAddressAllocationIds(v []*string) *EndpointDetails return s } +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *EndpointDetails) SetSecurityGroupIds(v []*string) *EndpointDetails { + s.SecurityGroupIds = v + return s +} + // SetSubnetIds sets the SubnetIds field's value. func (s *EndpointDetails) SetSubnetIds(v []*string) *EndpointDetails { s.SubnetIds = v @@ -3809,8 +3809,7 @@ func (s *IdentityProviderDetails) SetUrl(v string) *IdentityProviderDetails { type ImportSshPublicKeyInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server. + // A system-assigned unique identifier for a server. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -3820,8 +3819,7 @@ type ImportSshPublicKeyInput struct { // SshPublicKeyBody is a required field SshPublicKeyBody *string `type:"string" required:"true"` - // The name of the user account that is assigned to one or more file transfer - // protocol-enabled servers. + // The name of the user account that is assigned to one or more servers. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -3880,14 +3878,13 @@ func (s *ImportSshPublicKeyInput) SetUserName(v string) *ImportSshPublicKeyInput return s } -// Identifies the user, the file transfer protocol-enabled server they belong -// to, and the identifier of the SSH public key associated with that user. A -// user can have more than one key on each server that they are associated with. +// Identifies the user, the server they belong to, and the identifier of the +// SSH public key associated with that user. A user can have more than one key +// on each server that they are associated with. type ImportSshPublicKeyOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server. + // A system-assigned unique identifier for a server. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -4191,14 +4188,13 @@ func (s *ListSecurityPoliciesOutput) SetSecurityPolicyNames(v []*string) *ListSe type ListServersInput struct { _ struct{} `type:"structure"` - // Specifies the number of file transfer protocol-enabled servers to return - // as a response to the ListServers query. + // Specifies the number of servers to return as a response to the ListServers + // query. MaxResults *int64 `min:"1" type:"integer"` // When additional results are obtained from the ListServers command, a NextToken // parameter is returned in the output. You can then pass the NextToken parameter - // in a subsequent command to continue listing additional file transfer protocol-enabled - // servers. + // in a subsequent command to continue listing additional servers. NextToken *string `min:"1" type:"string"` } @@ -4245,11 +4241,10 @@ type ListServersOutput struct { // When you can get additional results from the ListServers operation, a NextToken // parameter is returned in the output. In a following command, you can pass - // in the NextToken parameter to continue listing additional file transfer protocol-enabled - // servers. + // in the NextToken parameter to continue listing additional servers. NextToken *string `min:"1" type:"string"` - // An array of file transfer protocol-enabled servers that were listed. + // An array of servers that were listed. // // Servers is a required field Servers []*ListedServer `type:"list" required:"true"` @@ -4402,8 +4397,8 @@ type ListUsersInput struct { // to the NextToken parameter to continue listing additional users. NextToken *string `min:"1" type:"string"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server that has users assigned to it. + // A system-assigned unique identifier for a server that has users assigned + // to it. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -4467,8 +4462,8 @@ type ListUsersOutput struct { // to the NextToken parameter to continue listing additional users. NextToken *string `min:"1" type:"string"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server that the users are assigned to. + // A system-assigned unique identifier for a server that the users are assigned + // to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -4512,43 +4507,42 @@ func (s *ListUsersOutput) SetUsers(v []*ListedUser) *ListUsersOutput { type ListedServer struct { _ struct{} `type:"structure"` - // Specifies the unique Amazon Resource Name (ARN) for a file transfer protocol-enabled - // server to be listed. + // Specifies the unique Amazon Resource Name (ARN) for a server to be listed. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` - // Specifies the type of VPC endpoint that your file transfer protocol-enabled - // server is connected to. If your server is connected to a VPC endpoint, your - // server isn't accessible over the public internet. + // Specifies the type of VPC endpoint that your server is connected to. If your + // server is connected to a VPC endpoint, your server isn't accessible over + // the public internet. EndpointType *string `type:"string" enum:"EndpointType"` - // Specifies the authentication method used to validate a user for a file transfer - // protocol-enabled server that was specified. This can include Secure Shell - // (SSH), user name and password combinations, or your own custom authentication - // method. Valid values include SERVICE_MANAGED or API_GATEWAY. + // Specifies the authentication method used to validate a user for a server + // that was specified. This can include Secure Shell (SSH), user name and password + // combinations, or your own custom authentication method. Valid values include + // SERVICE_MANAGED or API_GATEWAY. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` // Specifies the AWS Identity and Access Management (IAM) role that allows a - // file transfer protocol-enabled server to turn on Amazon CloudWatch logging. + // server to turn on Amazon CloudWatch logging. LoggingRole *string `min:"20" type:"string"` - // Specifies the unique system assigned identifier for a file transfer protocol-enabled - // servers that were listed. + // Specifies the unique system assigned identifier for the servers that were + // listed. ServerId *string `min:"19" type:"string"` - // Specifies the condition of a file transfer protocol-enabled server for the - // server that was described. A value of ONLINE indicates that the server can - // accept jobs and transfer files. A State value of OFFLINE means that the server - // cannot perform file transfer operations. + // Specifies the condition of a server for the server that was described. A + // value of ONLINE indicates that the server can accept jobs and transfer files. + // A State value of OFFLINE means that the server cannot perform file transfer + // operations. // // The states of STARTING and STOPPING indicate that the server is in an intermediate // state, either not fully able to respond, or not fully offline. The values // of START_FAILED or STOP_FAILED can indicate an error condition. State *string `type:"string" enum:"State"` - // Specifies the number of users that are assigned to a file transfer protocol-enabled - // server you specified with the ServerId. + // Specifies the number of users that are assigned to a server you specified + // with the ServerId. UserCount *int64 `type:"integer"` } @@ -4924,8 +4918,7 @@ func (s *SshPublicKey) SetSshPublicKeyId(v string) *SshPublicKey { type StartServerInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server that you start. + // A system-assigned unique identifier for a server that you start. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -4980,8 +4973,7 @@ func (s StartServerOutput) GoString() string { type StopServerInput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server that you stopped. + // A system-assigned unique identifier for a server that you stopped. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -5179,9 +5171,8 @@ func (s TagResourceOutput) GoString() string { type TestIdentityProviderInput struct { _ struct{} `type:"structure"` - // A system-assigned identifier for a specific file transfer protocol-enabled - // server. That server's user authentication method is tested with a user name - // and password. + // A system-assigned identifier for a specific server. That server's user authentication + // method is tested with a user name and password. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -5496,16 +5487,15 @@ type UpdateServerInput struct { Certificate *string `type:"string"` // The virtual private cloud (VPC) endpoint settings that are configured for - // your file transfer protocol-enabled server. With a VPC endpoint, you can - // restrict access to your server to resources only within your VPC. To control - // incoming internet traffic, you will need to associate one or more Elastic - // IP addresses with your server's endpoint. + // your server. With a VPC endpoint, you can restrict access to your server + // to resources only within your VPC. To control incoming internet traffic, + // you will need to associate one or more Elastic IP addresses with your server's + // endpoint. EndpointDetails *EndpointDetails `type:"structure"` - // The type of endpoint that you want your file transfer protocol-enabled server - // to connect to. You can choose to connect to the public internet or a VPC - // endpoint. With a VPC endpoint, you can restrict access to your server and - // resources only within your VPC. + // The type of endpoint that you want your server to connect to. You can choose + // to connect to the public internet or a VPC endpoint. With a VPC endpoint, + // you can restrict access to your server and resources only within your VPC. // // It is recommended that you use VPC as the EndpointType. With this endpoint // type, you have the option to directly associate up to three Elastic IPv4 @@ -5516,9 +5506,9 @@ type UpdateServerInput struct { // The RSA private key as generated by ssh-keygen -N "" -m PEM -f my-new-server-key. // - // If you aren't planning to migrate existing users from an existing file transfer - // protocol-enabled server to a new server, don't update the host key. Accidentally - // changing a server's host key can be disruptive. + // If you aren't planning to migrate existing users from an existing server + // to a new server, don't update the host key. Accidentally changing a server's + // host key can be disruptive. // // For more information, see Change the host key for your SFTP-enabled server // (https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) @@ -5560,8 +5550,8 @@ type UpdateServerInput struct { // Specifies the name of the security policy that is attached to the server. SecurityPolicyName *string `type:"string"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server instance that the user account is assigned to. + // A system-assigned unique identifier for a server instance that the user account + // is assigned to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -5663,8 +5653,8 @@ func (s *UpdateServerInput) SetServerId(v string) *UpdateServerInput { type UpdateServerOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server that the user account is assigned to. + // A system-assigned unique identifier for a server that the user account is + // assigned to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` @@ -5690,8 +5680,7 @@ type UpdateUserInput struct { _ struct{} `type:"structure"` // Specifies the landing directory (folder) for a user when they log in to the - // file transfer protocol-enabled server using their file transfer protocol - // client. + // server using their file transfer protocol client. // // An example is your-Amazon-S3-bucket-name>/home/username. HomeDirectory *string `type:"string"` @@ -5720,11 +5709,11 @@ type UpdateUserInput struct { HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` // The type of landing directory (folder) you want your users' home directory - // to be when they log into the file transfer protocol-enabled server. If you - // set it to PATH, the user will see the absolute Amazon S3 bucket paths as - // is in their file transfer protocol clients. If you set it LOGICAL, you will - // need to provide mappings in the HomeDirectoryMappings for how you want to - // make Amazon S3 paths visible to your users. + // to be when they log into the server. If you set it to PATH, the user will + // see the absolute Amazon S3 bucket paths as is in their file transfer protocol + // clients. If you set it LOGICAL, you will need to provide mappings in the + // HomeDirectoryMappings for how you want to make Amazon S3 paths visible to + // your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` // Allows you to supply a scope-down policy for your user so you can use the @@ -5746,22 +5735,21 @@ type UpdateUserInput struct { // policies attached to this role will determine the level of access you want // to provide your users when transferring files into and out of your Amazon // S3 bucket or buckets. The IAM role should also contain a trust relationship - // that allows the file transfer protocol-enabled server to access your resources - // when servicing your users' transfer requests. + // that allows the server to access your resources when servicing your users' + // transfer requests. Role *string `min:"20" type:"string"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server instance that the user account is assigned to. + // A system-assigned unique identifier for a server instance that the user account + // is assigned to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // A unique string that identifies a user and is associated with a file transfer - // protocol-enabled server as specified by the ServerId. This user name must - // be a minimum of 3 and a maximum of 100 characters long. The following are - // valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', - // and at sign '@'. The user name can't start with a hyphen, period, and at - // sign. + // A unique string that identifies a user and is associated with a server as + // specified by the ServerId. This user name must be a minimum of 3 and a maximum + // of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, + // underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't + // start with a hyphen, period, or at sign. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -5857,19 +5845,19 @@ func (s *UpdateUserInput) SetUserName(v string) *UpdateUserInput { return s } -// UpdateUserResponse returns the user name and file transfer protocol-enabled -// server identifier for the request to update a user's properties. +// UpdateUserResponse returns the user name and identifier for the request to +// update a user's properties. type UpdateUserOutput struct { _ struct{} `type:"structure"` - // A system-assigned unique identifier for a file transfer protocol-enabled - // server instance that the user account is assigned to. + // A system-assigned unique identifier for a server instance that the user account + // is assigned to. // // ServerId is a required field ServerId *string `min:"19" type:"string" required:"true"` - // The unique identifier for a user that is assigned to a file transfer protocol-enabled - // server instance that was specified in the request. + // The unique identifier for a user that is assigned to a server instance that + // was specified in the request. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` diff --git a/service/workmail/api.go b/service/workmail/api.go index 583274f80ec..83dfcdb19c2 100644 --- a/service/workmail/api.go +++ b/service/workmail/api.go @@ -84,8 +84,8 @@ func (c *WorkMail) AssociateDelegateToResourceRequest(input *AssociateDelegateTo // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssociateDelegateToResource func (c *WorkMail) AssociateDelegateToResource(input *AssociateDelegateToResourceInput) (*AssociateDelegateToResourceOutput, error) { @@ -168,7 +168,7 @@ func (c *WorkMail) AssociateMemberToGroupRequest(input *AssociateMemberToGroupIn // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -186,8 +186,8 @@ func (c *WorkMail) AssociateMemberToGroupRequest(input *AssociateMemberToGroupIn // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * UnsupportedOperationException // You can't perform a write operation against a read-only directory. @@ -280,8 +280,8 @@ func (c *WorkMail) CancelMailboxExportJobRequest(input *CancelMailboxExportJobIn // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -392,8 +392,8 @@ func (c *WorkMail) CreateAliasRequest(input *CreateAliasInput) (req *request.Req // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * LimitExceededException // The request exceeds the limit of the resource. @@ -479,7 +479,7 @@ func (c *WorkMail) CreateGroupRequest(input *CreateGroupInput) (req *request.Req // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * InvalidParameterException // One or more of the input parameters don't match the service's restrictions. @@ -492,8 +492,8 @@ func (c *WorkMail) CreateGroupRequest(input *CreateGroupInput) (req *request.Req // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * ReservedNameException // This user, group, or resource name is not allowed in Amazon WorkMail. @@ -523,6 +523,116 @@ func (c *WorkMail) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInp return out, req.Send() } +const opCreateOrganization = "CreateOrganization" + +// CreateOrganizationRequest generates a "aws/request.Request" representing the +// client's request for the CreateOrganization 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 CreateOrganization for more information on using the CreateOrganization +// 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 CreateOrganizationRequest method. +// req, resp := client.CreateOrganizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateOrganization +func (c *WorkMail) CreateOrganizationRequest(input *CreateOrganizationInput) (req *request.Request, output *CreateOrganizationOutput) { + op := &request.Operation{ + Name: opCreateOrganization, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateOrganizationInput{} + } + + output = &CreateOrganizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateOrganization API operation for Amazon WorkMail. +// +// Creates a new Amazon WorkMail organization. Optionally, you can choose to +// associate an existing AWS Directory Service directory with your organization. +// If an AWS Directory Service directory ID is specified, the organization alias +// must match the directory alias. If you choose not to associate an existing +// directory with your organization, then we create a new Amazon WorkMail directory +// for you. For more information, see Adding an organization (https://docs.aws.amazon.com/workmail/latest/adminguide/add_new_organization.html) +// in the Amazon WorkMail Administrator Guide. +// +// You can associate multiple email domains with an organization, then set your +// default email domain from the Amazon WorkMail console. You can also associate +// a domain that is managed in an Amazon Route 53 public hosted zone. For more +// information, see Adding a domain (https://docs.aws.amazon.com/workmail/latest/adminguide/add_domain.html) +// and Choosing the default domain (https://docs.aws.amazon.com/workmail/latest/adminguide/default_domain.html) +// in the Amazon WorkMail Administrator Guide. +// +// Optionally, you can use a customer managed master key from AWS Key Management +// Service (AWS KMS) to encrypt email for your organization. If you don't associate +// an AWS KMS key, Amazon WorkMail creates a default AWS managed master key +// for you. +// +// 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 WorkMail's +// API operation CreateOrganization for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// * DirectoryInUseException +// The directory is already in use by another WorkMail organization in the same +// account and Region. +// +// * DirectoryUnavailableException +// The directory is unavailable. It might be located in another Region or deleted. +// +// * LimitExceededException +// The request exceeds the limit of the resource. +// +// * NameAvailabilityException +// The user, group, or resource name isn't unique in Amazon WorkMail. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateOrganization +func (c *WorkMail) CreateOrganization(input *CreateOrganizationInput) (*CreateOrganizationOutput, error) { + req, out := c.CreateOrganizationRequest(input) + return out, req.Send() +} + +// CreateOrganizationWithContext is the same as CreateOrganization with the addition of +// the ability to pass a context and additional request options. +// +// See CreateOrganization 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 *WorkMail) CreateOrganizationWithContext(ctx aws.Context, input *CreateOrganizationInput, opts ...request.Option) (*CreateOrganizationOutput, error) { + req, out := c.CreateOrganizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateResource = "CreateResource" // CreateResourceRequest generates a "aws/request.Request" representing the @@ -581,7 +691,7 @@ func (c *WorkMail) CreateResourceRequest(input *CreateResourceInput) (req *reque // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * InvalidParameterException // One or more of the input parameters don't match the service's restrictions. @@ -594,8 +704,8 @@ func (c *WorkMail) CreateResourceRequest(input *CreateResourceInput) (req *reque // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * ReservedNameException // This user, group, or resource name is not allowed in Amazon WorkMail. @@ -681,7 +791,7 @@ func (c *WorkMail) CreateUserRequest(input *CreateUserInput) (req *request.Reque // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * InvalidParameterException // One or more of the input parameters don't match the service's restrictions. @@ -698,8 +808,8 @@ func (c *WorkMail) CreateUserRequest(input *CreateUserInput) (req *request.Reque // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * ReservedNameException // This user, group, or resource name is not allowed in Amazon WorkMail. @@ -789,8 +899,8 @@ func (c *WorkMail) DeleteAccessControlRuleRequest(input *DeleteAccessControlRule // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAccessControlRule func (c *WorkMail) DeleteAccessControlRule(input *DeleteAccessControlRuleInput) (*DeleteAccessControlRuleOutput, error) { @@ -885,8 +995,8 @@ func (c *WorkMail) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Req // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAlias func (c *WorkMail) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { @@ -969,7 +1079,7 @@ func (c *WorkMail) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Req // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * EntityStateException // You are performing an operation on a user, group, or resource that isn't @@ -983,8 +1093,8 @@ func (c *WorkMail) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Req // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * UnsupportedOperationException // You can't perform a write operation against a read-only directory. @@ -1082,8 +1192,8 @@ func (c *WorkMail) DeleteMailboxPermissionsRequest(input *DeleteMailboxPermissio // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteMailboxPermissions func (c *WorkMail) DeleteMailboxPermissions(input *DeleteMailboxPermissionsInput) (*DeleteMailboxPermissionsOutput, error) { @@ -1107,6 +1217,97 @@ func (c *WorkMail) DeleteMailboxPermissionsWithContext(ctx aws.Context, input *D return out, req.Send() } +const opDeleteOrganization = "DeleteOrganization" + +// DeleteOrganizationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteOrganization 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 DeleteOrganization for more information on using the DeleteOrganization +// 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 DeleteOrganizationRequest method. +// req, resp := client.DeleteOrganizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteOrganization +func (c *WorkMail) DeleteOrganizationRequest(input *DeleteOrganizationInput) (req *request.Request, output *DeleteOrganizationOutput) { + op := &request.Operation{ + Name: opDeleteOrganization, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteOrganizationInput{} + } + + output = &DeleteOrganizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteOrganization API operation for Amazon WorkMail. +// +// Deletes an Amazon WorkMail organization and all underlying AWS resources +// managed by Amazon WorkMail as part of the organization. You can choose whether +// to delete the associated directory. For more information, see Removing an +// organization (https://docs.aws.amazon.com/workmail/latest/adminguide/remove_organization.html) +// in the Amazon WorkMail Administrator 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 WorkMail's +// API operation DeleteOrganization for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// * OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// * OrganizationStateException +// The organization must have a valid state to perform certain operations on +// the organization or its members. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteOrganization +func (c *WorkMail) DeleteOrganization(input *DeleteOrganizationInput) (*DeleteOrganizationOutput, error) { + req, out := c.DeleteOrganizationRequest(input) + return out, req.Send() +} + +// DeleteOrganizationWithContext is the same as DeleteOrganization with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteOrganization 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 *WorkMail) DeleteOrganizationWithContext(ctx aws.Context, input *DeleteOrganizationInput, opts ...request.Option) (*DeleteOrganizationOutput, error) { + req, out := c.DeleteOrganizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteResource = "DeleteResource" // DeleteResourceRequest generates a "aws/request.Request" representing the @@ -1174,8 +1375,8 @@ func (c *WorkMail) DeleteResourceRequest(input *DeleteResourceInput) (req *reque // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteResource func (c *WorkMail) DeleteResource(input *DeleteResourceInput) (*DeleteResourceOutput, error) { @@ -1262,8 +1463,8 @@ func (c *WorkMail) DeleteRetentionPolicyRequest(input *DeleteRetentionPolicyInpu // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicy func (c *WorkMail) DeleteRetentionPolicy(input *DeleteRetentionPolicyInput) (*DeleteRetentionPolicyOutput, error) { @@ -1351,7 +1552,7 @@ func (c *WorkMail) DeleteUserRequest(input *DeleteUserInput) (req *request.Reque // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * EntityStateException // You are performing an operation on a user, group, or resource that isn't @@ -1365,8 +1566,8 @@ func (c *WorkMail) DeleteUserRequest(input *DeleteUserInput) (req *request.Reque // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * UnsupportedOperationException // You can't perform a write operation against a read-only directory. @@ -1467,8 +1668,8 @@ func (c *WorkMail) DeregisterFromWorkMailRequest(input *DeregisterFromWorkMailIn // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeregisterFromWorkMail func (c *WorkMail) DeregisterFromWorkMail(input *DeregisterFromWorkMailInput) (*DeregisterFromWorkMailOutput, error) { @@ -1558,8 +1759,8 @@ func (c *WorkMail) DescribeGroupRequest(input *DescribeGroupInput) (req *request // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeGroup func (c *WorkMail) DescribeGroup(input *DescribeGroupInput) (*DescribeGroupOutput, error) { @@ -1645,8 +1846,8 @@ func (c *WorkMail) DescribeMailboxExportJobRequest(input *DescribeMailboxExportJ // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -1823,8 +2024,8 @@ func (c *WorkMail) DescribeResourceRequest(input *DescribeResourceInput) (req *r // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeResource func (c *WorkMail) DescribeResource(input *DescribeResourceInput) (*DescribeResourceOutput, error) { @@ -1914,8 +2115,8 @@ func (c *WorkMail) DescribeUserRequest(input *DescribeUserInput) (req *request.R // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeUser func (c *WorkMail) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { @@ -2010,8 +2211,8 @@ func (c *WorkMail) DisassociateDelegateFromResourceRequest(input *DisassociateDe // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DisassociateDelegateFromResource func (c *WorkMail) DisassociateDelegateFromResource(input *DisassociateDelegateFromResourceInput) (*DisassociateDelegateFromResourceOutput, error) { @@ -2094,7 +2295,7 @@ func (c *WorkMail) DisassociateMemberFromGroupRequest(input *DisassociateMemberF // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -2112,8 +2313,8 @@ func (c *WorkMail) DisassociateMemberFromGroupRequest(input *DisassociateMemberF // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * UnsupportedOperationException // You can't perform a write operation against a read-only directory. @@ -2207,8 +2408,8 @@ func (c *WorkMail) GetAccessControlEffectRequest(input *GetAccessControlEffectIn // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetAccessControlEffect func (c *WorkMail) GetAccessControlEffect(input *GetAccessControlEffectInput) (*GetAccessControlEffectOutput, error) { @@ -2294,8 +2495,8 @@ func (c *WorkMail) GetDefaultRetentionPolicyRequest(input *GetDefaultRetentionPo // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -2382,8 +2583,8 @@ func (c *WorkMail) GetMailboxDetailsRequest(input *GetMailboxDetailsInput) (req // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -2470,8 +2671,8 @@ func (c *WorkMail) ListAccessControlRulesRequest(input *ListAccessControlRulesIn // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAccessControlRules func (c *WorkMail) ListAccessControlRules(input *ListAccessControlRulesInput) (*ListAccessControlRulesOutput, error) { @@ -2571,8 +2772,8 @@ func (c *WorkMail) ListAliasesRequest(input *ListAliasesInput) (req *request.Req // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAliases func (c *WorkMail) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) { @@ -2725,8 +2926,8 @@ func (c *WorkMail) ListGroupMembersRequest(input *ListGroupMembersInput) (req *r // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListGroupMembers func (c *WorkMail) ListGroupMembers(input *ListGroupMembersInput) (*ListGroupMembersOutput, error) { @@ -2874,8 +3075,8 @@ func (c *WorkMail) ListGroupsRequest(input *ListGroupsInput) (req *request.Reque // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListGroups func (c *WorkMail) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { @@ -3020,8 +3221,8 @@ func (c *WorkMail) ListMailboxExportJobsRequest(input *ListMailboxExportJobsInpu // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxExportJobs func (c *WorkMail) ListMailboxExportJobs(input *ListMailboxExportJobsInput) (*ListMailboxExportJobsOutput, error) { @@ -3170,8 +3371,8 @@ func (c *WorkMail) ListMailboxPermissionsRequest(input *ListMailboxPermissionsIn // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMailboxPermissions func (c *WorkMail) ListMailboxPermissions(input *ListMailboxPermissionsInput) (*ListMailboxPermissionsOutput, error) { @@ -3461,8 +3662,8 @@ func (c *WorkMail) ListResourceDelegatesRequest(input *ListResourceDelegatesInpu // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListResourceDelegates func (c *WorkMail) ListResourceDelegates(input *ListResourceDelegatesInput) (*ListResourceDelegatesOutput, error) { @@ -3606,8 +3807,8 @@ func (c *WorkMail) ListResourcesRequest(input *ListResourcesInput) (req *request // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListResources func (c *WorkMail) ListResources(input *ListResourcesInput) (*ListResourcesOutput, error) { @@ -3830,8 +4031,8 @@ func (c *WorkMail) ListUsersRequest(input *ListUsersInput) (req *request.Request // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListUsers func (c *WorkMail) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { @@ -3980,8 +4181,8 @@ func (c *WorkMail) PutAccessControlRuleRequest(input *PutAccessControlRuleInput) // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutAccessControlRule func (c *WorkMail) PutAccessControlRule(input *PutAccessControlRuleInput) (*PutAccessControlRuleOutput, error) { @@ -4077,8 +4278,8 @@ func (c *WorkMail) PutMailboxPermissionsRequest(input *PutMailboxPermissionsInpu // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutMailboxPermissions func (c *WorkMail) PutMailboxPermissions(input *PutMailboxPermissionsInput) (*PutMailboxPermissionsOutput, error) { @@ -4165,8 +4366,8 @@ func (c *WorkMail) PutRetentionPolicyRequest(input *PutRetentionPolicyInput) (re // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * LimitExceededException // The request exceeds the limit of the resource. @@ -4260,7 +4461,7 @@ func (c *WorkMail) RegisterToWorkMailRequest(input *RegisterToWorkMailInput) (re // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * EmailAddressInUseException // The email address that you're trying to assign is already created for a different @@ -4293,8 +4494,8 @@ func (c *WorkMail) RegisterToWorkMailRequest(input *RegisterToWorkMailInput) (re // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/RegisterToWorkMail func (c *WorkMail) RegisterToWorkMail(input *RegisterToWorkMailInput) (*RegisterToWorkMailOutput, error) { @@ -4377,7 +4578,7 @@ func (c *WorkMail) ResetPasswordRequest(input *ResetPasswordInput) (req *request // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -4399,8 +4600,8 @@ func (c *WorkMail) ResetPasswordRequest(input *ResetPasswordInput) (req *request // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * UnsupportedOperationException // You can't perform a write operation against a read-only directory. @@ -4492,8 +4693,8 @@ func (c *WorkMail) StartMailboxExportJobRequest(input *StartMailboxExportJobInpu // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -4587,8 +4788,8 @@ func (c *WorkMail) TagResourceRequest(input *TagResourceInput) (req *request.Req // The resource can have up to 50 user-applied tags. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/TagResource func (c *WorkMail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -4756,8 +4957,8 @@ func (c *WorkMail) UpdateMailboxQuotaRequest(input *UpdateMailboxQuotaInput) (re // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -4851,7 +5052,7 @@ func (c *WorkMail) UpdatePrimaryEmailAddressRequest(input *UpdatePrimaryEmailAdd // The directory service doesn't recognize the credentials supplied by WorkMail. // // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * EmailAddressInUseException // The email address that you're trying to assign is already created for a different @@ -4884,8 +5085,8 @@ func (c *WorkMail) UpdatePrimaryEmailAddressRequest(input *UpdatePrimaryEmailAdd // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // * UnsupportedOperationException // You can't perform a write operation against a read-only directory. @@ -4970,7 +5171,7 @@ func (c *WorkMail) UpdateResourceRequest(input *UpdateResourceInput) (req *reque // // Returned Error Types: // * DirectoryUnavailableException -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. // // * EntityNotFoundException // The identifier supplied for the user, group, or resource does not exist in @@ -5005,8 +5206,8 @@ func (c *WorkMail) UpdateResourceRequest(input *UpdateResourceInput) (req *reque // belong or exist in the system. // // * OrganizationStateException -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. // // See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateResource func (c *WorkMail) UpdateResource(input *UpdateResourceInput) (*UpdateResourceOutput, error) { @@ -5157,12 +5358,12 @@ type AssociateDelegateToResourceInput struct { // The organization under which the resource exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The resource for which members (users or groups) are associated. // // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` + ResourceId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -5187,9 +5388,15 @@ func (s *AssociateDelegateToResourceInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } + if s.ResourceId != nil && len(*s.ResourceId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -5245,7 +5452,7 @@ type AssociateMemberToGroupInput struct { // The organization under which the group exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -5276,6 +5483,9 @@ func (s *AssociateMemberToGroupInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -5373,7 +5583,7 @@ type CancelMailboxExportJobInput struct { // The organization ID. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -5401,6 +5611,9 @@ func (s *CancelMailboxExportJobInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -5456,7 +5669,7 @@ type CreateAliasInput struct { // The organization under which the member (user or group) exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -5487,6 +5700,9 @@ func (s *CreateAliasInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -5537,7 +5753,7 @@ type CreateGroupInput struct { // The organization under which the group is to be created. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -5562,6 +5778,9 @@ func (s *CreateGroupInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -5604,6 +5823,137 @@ func (s *CreateGroupOutput) SetGroupId(v string) *CreateGroupOutput { return s } +type CreateOrganizationInput struct { + _ struct{} `type:"structure"` + + // The organization alias. + // + // Alias is a required field + Alias *string `min:"1" type:"string" required:"true"` + + // The idempotency token associated with the request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The AWS Directory Service directory ID. + DirectoryId *string `min:"12" type:"string"` + + // The email domains to associate with the organization. + Domains []*Domain `type:"list"` + + // When true, allows organization interoperability between Amazon WorkMail and + // Microsoft Exchange. Can only be set to true if an AD Connector directory + // ID is included in the request. + EnableInteroperability *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of a customer managed master key from AWS + // KMS. + KmsKeyArn *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s CreateOrganizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateOrganizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateOrganizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOrganizationInput"} + if s.Alias == nil { + invalidParams.Add(request.NewErrParamRequired("Alias")) + } + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DirectoryId != nil && len(*s.DirectoryId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 12)) + } + if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20)) + } + if s.Domains != nil { + for i, v := range s.Domains { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Domains", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlias sets the Alias field's value. +func (s *CreateOrganizationInput) SetAlias(v string) *CreateOrganizationInput { + s.Alias = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateOrganizationInput) SetClientToken(v string) *CreateOrganizationInput { + s.ClientToken = &v + return s +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *CreateOrganizationInput) SetDirectoryId(v string) *CreateOrganizationInput { + s.DirectoryId = &v + return s +} + +// SetDomains sets the Domains field's value. +func (s *CreateOrganizationInput) SetDomains(v []*Domain) *CreateOrganizationInput { + s.Domains = v + return s +} + +// SetEnableInteroperability sets the EnableInteroperability field's value. +func (s *CreateOrganizationInput) SetEnableInteroperability(v bool) *CreateOrganizationInput { + s.EnableInteroperability = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *CreateOrganizationInput) SetKmsKeyArn(v string) *CreateOrganizationInput { + s.KmsKeyArn = &v + return s +} + +type CreateOrganizationOutput struct { + _ struct{} `type:"structure"` + + // The organization ID. + OrganizationId *string `min:"34" type:"string"` +} + +// String returns the string representation +func (s CreateOrganizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateOrganizationOutput) GoString() string { + return s.String() +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *CreateOrganizationOutput) SetOrganizationId(v string) *CreateOrganizationOutput { + s.OrganizationId = &v + return s +} + type CreateResourceInput struct { _ struct{} `type:"structure"` @@ -5616,7 +5966,7 @@ type CreateResourceInput struct { // created. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The type of the new resource. The available types are equipment and room. // @@ -5646,6 +5996,9 @@ func (s *CreateResourceInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.Type == nil { invalidParams.Add(request.NewErrParamRequired("Type")) } @@ -5678,7 +6031,7 @@ type CreateResourceOutput struct { _ struct{} `type:"structure"` // The identifier of the new resource. - ResourceId *string `type:"string"` + ResourceId *string `min:"34" type:"string"` } // String returns the string representation @@ -5714,7 +6067,7 @@ type CreateUserInput struct { // The identifier of the organization for which the user is created. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The password for the new user. // @@ -5747,6 +6100,9 @@ func (s *CreateUserInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.Password == nil { invalidParams.Add(request.NewErrParamRequired("Password")) } @@ -5853,7 +6209,7 @@ type DeleteAccessControlRuleInput struct { // The identifier for the organization. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -5878,6 +6234,9 @@ func (s *DeleteAccessControlRuleInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -5930,7 +6289,7 @@ type DeleteAliasInput struct { // The identifier for the organization under which the user exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -5961,6 +6320,9 @@ func (s *DeleteAliasInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6011,7 +6373,7 @@ type DeleteGroupInput struct { // The organization that contains the group. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -6036,6 +6398,9 @@ func (s *DeleteGroupInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6072,7 +6437,7 @@ func (s DeleteGroupOutput) GoString() string { type DeleteMailboxPermissionsInput struct { _ struct{} `type:"structure"` - // The identifier of the member (user or group)that owns the mailbox. + // The identifier of the member (user or group) that owns the mailbox. // // EntityId is a required field EntityId *string `min:"12" type:"string" required:"true"` @@ -6087,7 +6452,7 @@ type DeleteMailboxPermissionsInput struct { // exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -6118,6 +6483,9 @@ func (s *DeleteMailboxPermissionsInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6157,6 +6525,106 @@ func (s DeleteMailboxPermissionsOutput) GoString() string { return s.String() } +type DeleteOrganizationInput struct { + _ struct{} `type:"structure"` + + // The idempotency token associated with the request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // If true, deletes the AWS Directory Service directory associated with the + // organization. + // + // DeleteDirectory is a required field + DeleteDirectory *bool `type:"boolean" required:"true"` + + // The organization ID. + // + // OrganizationId is a required field + OrganizationId *string `min:"34" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteOrganizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteOrganizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteOrganizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteOrganizationInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DeleteDirectory == nil { + invalidParams.Add(request.NewErrParamRequired("DeleteDirectory")) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteOrganizationInput) SetClientToken(v string) *DeleteOrganizationInput { + s.ClientToken = &v + return s +} + +// SetDeleteDirectory sets the DeleteDirectory field's value. +func (s *DeleteOrganizationInput) SetDeleteDirectory(v bool) *DeleteOrganizationInput { + s.DeleteDirectory = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *DeleteOrganizationInput) SetOrganizationId(v string) *DeleteOrganizationInput { + s.OrganizationId = &v + return s +} + +type DeleteOrganizationOutput struct { + _ struct{} `type:"structure"` + + // The organization ID. + OrganizationId *string `min:"34" type:"string"` + + // The state of the organization. + State *string `type:"string"` +} + +// String returns the string representation +func (s DeleteOrganizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteOrganizationOutput) GoString() string { + return s.String() +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *DeleteOrganizationOutput) SetOrganizationId(v string) *DeleteOrganizationOutput { + s.OrganizationId = &v + return s +} + +// SetState sets the State field's value. +func (s *DeleteOrganizationOutput) SetState(v string) *DeleteOrganizationOutput { + s.State = &v + return s +} + type DeleteResourceInput struct { _ struct{} `type:"structure"` @@ -6164,12 +6632,12 @@ type DeleteResourceInput struct { // deleted. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The identifier of the resource to be deleted. // // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` + ResourceId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -6188,9 +6656,15 @@ func (s *DeleteResourceInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } + if s.ResourceId != nil && len(*s.ResourceId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6235,7 +6709,7 @@ type DeleteRetentionPolicyInput struct { // The organization ID. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -6260,6 +6734,9 @@ func (s *DeleteRetentionPolicyInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6299,7 +6776,7 @@ type DeleteUserInput struct { // The organization that contains the user to be deleted. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The identifier of the user to be deleted. // @@ -6323,6 +6800,9 @@ func (s *DeleteUserInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.UserId == nil { invalidParams.Add(request.NewErrParamRequired("UserId")) } @@ -6374,7 +6854,7 @@ type DeregisterFromWorkMailInput struct { // exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -6399,6 +6879,9 @@ func (s *DeregisterFromWorkMailInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6443,7 +6926,7 @@ type DescribeGroupInput struct { // The identifier for the organization under which the group exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -6468,6 +6951,9 @@ func (s *DescribeGroupInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6569,7 +7055,7 @@ type DescribeMailboxExportJobInput struct { // The organization ID. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -6594,6 +7080,9 @@ func (s *DescribeMailboxExportJobInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6744,7 +7233,7 @@ type DescribeOrganizationInput struct { // The identifier for the organization to be described. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -6763,6 +7252,9 @@ func (s *DescribeOrganizationInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6803,7 +7295,7 @@ type DescribeOrganizationOutput struct { ErrorMessage *string `type:"string"` // The identifier of an organization. - OrganizationId *string `type:"string"` + OrganizationId *string `min:"34" type:"string"` // The state of an organization. State *string `type:"string"` @@ -6880,12 +7372,12 @@ type DescribeResourceInput struct { // described. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The identifier of the resource to be described. // // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` + ResourceId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -6904,9 +7396,15 @@ func (s *DescribeResourceInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } + if s.ResourceId != nil && len(*s.ResourceId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6947,7 +7445,7 @@ type DescribeResourceOutput struct { Name *string `min:"1" type:"string"` // The identifier of the described resource. - ResourceId *string `type:"string"` + ResourceId *string `min:"34" type:"string"` // The state of the resource: enabled (registered to Amazon WorkMail), disabled // (deregistered or never registered to WorkMail), or deleted. @@ -7021,7 +7519,7 @@ type DescribeUserInput struct { // The identifier for the organization under which the user exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The identifier for the user to be described. // @@ -7045,6 +7543,9 @@ func (s *DescribeUserInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.UserId == nil { invalidParams.Add(request.NewErrParamRequired("UserId")) } @@ -7164,6 +7665,63 @@ func (s *DescribeUserOutput) SetUserRole(v string) *DescribeUserOutput { return s } +// The directory is already in use by another WorkMail organization in the same +// account and Region. +type DirectoryInUseException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s DirectoryInUseException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DirectoryInUseException) GoString() string { + return s.String() +} + +func newErrorDirectoryInUseException(v protocol.ResponseMetadata) error { + return &DirectoryInUseException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DirectoryInUseException) Code() string { + return "DirectoryInUseException" +} + +// Message returns the exception's message. +func (s *DirectoryInUseException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DirectoryInUseException) OrigErr() error { + return nil +} + +func (s *DirectoryInUseException) 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 *DirectoryInUseException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DirectoryInUseException) RequestID() string { + return s.RespMetadata.RequestID +} + // The directory service doesn't recognize the credentials supplied by WorkMail. type DirectoryServiceAuthenticationFailedException struct { _ struct{} `type:"structure"` @@ -7220,7 +7778,7 @@ func (s *DirectoryServiceAuthenticationFailedException) RequestID() string { return s.RespMetadata.RequestID } -// The directory on which you are trying to perform operations isn't available. +// The directory is unavailable. It might be located in another Region or deleted. type DirectoryUnavailableException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -7288,12 +7846,12 @@ type DisassociateDelegateFromResourceInput struct { // The identifier for the organization under which the resource exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The identifier of the resource from which delegates' set members are removed. // // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` + ResourceId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -7318,9 +7876,15 @@ func (s *DisassociateDelegateFromResourceInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } + if s.ResourceId != nil && len(*s.ResourceId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -7376,7 +7940,7 @@ type DisassociateMemberFromGroupInput struct { // The identifier for the organization under which the group exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -7407,6 +7971,9 @@ func (s *DisassociateMemberFromGroupInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -7446,6 +8013,61 @@ func (s DisassociateMemberFromGroupOutput) GoString() string { return s.String() } +// The domain to associate with an Amazon WorkMail organization. +// +// When you configure a domain hosted in Amazon Route 53 (Route 53), all recommended +// DNS records are added to the organization when you create it. For more information, +// see Adding a domain (https://docs.aws.amazon.com/workmail/latest/adminguide/add_domain.html) +// in the Amazon WorkMail Administrator Guide. +type Domain struct { + _ struct{} `type:"structure"` + + // The fully qualified domain name. + DomainName *string `min:"3" type:"string"` + + // The hosted zone ID for a domain hosted in Route 53. Required when configuring + // a domain hosted in Route 53. + HostedZoneId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Domain) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Domain) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Domain) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Domain"} + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.HostedZoneId != nil && len(*s.HostedZoneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HostedZoneId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *Domain) SetDomainName(v string) *Domain { + s.DomainName = &v + return s +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *Domain) SetHostedZoneId(v string) *Domain { + s.HostedZoneId = &v + return s +} + // The email address that you're trying to assign is already created for a different // user, group, or resource. type EmailAddressInUseException struct { @@ -7756,7 +8378,7 @@ type GetAccessControlEffectInput struct { // The identifier for the organization. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The user ID. // @@ -7792,6 +8414,9 @@ func (s *GetAccessControlEffectInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.UserId == nil { invalidParams.Add(request.NewErrParamRequired("UserId")) } @@ -7867,7 +8492,7 @@ type GetDefaultRetentionPolicyInput struct { // The organization ID. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -7886,6 +8511,9 @@ func (s *GetDefaultRetentionPolicyInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -7956,7 +8584,7 @@ type GetMailboxDetailsInput struct { // details are being requested. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The identifier for the user whose mailbox details are being requested. // @@ -7980,6 +8608,9 @@ func (s *GetMailboxDetailsInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.UserId == nil { invalidParams.Add(request.NewErrParamRequired("UserId")) } @@ -8339,7 +8970,7 @@ type ListAccessControlRulesInput struct { // The identifier for the organization. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -8358,6 +8989,9 @@ func (s *ListAccessControlRulesInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -8412,7 +9046,7 @@ type ListAliasesInput struct { // The identifier for the organization under which the entity exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -8443,6 +9077,9 @@ func (s *ListAliasesInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -8525,7 +9162,7 @@ type ListGroupMembersInput struct { // The identifier for the organization under which the group exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -8556,6 +9193,9 @@ func (s *ListGroupMembersInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -8633,7 +9273,7 @@ type ListGroupsInput struct { // The identifier for the organization under which the groups exist. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -8658,6 +9298,9 @@ func (s *ListGroupsInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -8728,7 +9371,7 @@ type ListMailboxExportJobsInput struct { // The organization ID. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -8753,6 +9396,9 @@ func (s *ListMailboxExportJobsInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -8830,7 +9476,7 @@ type ListMailboxPermissionsInput struct { // exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -8861,6 +9507,9 @@ func (s *ListMailboxPermissionsInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9020,7 +9669,7 @@ type ListResourceDelegatesInput struct { // delegates are listed. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The identifier for the resource whose delegates are listed. // @@ -9050,6 +9699,9 @@ func (s *ListResourceDelegatesInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } @@ -9134,7 +9786,7 @@ type ListResourcesInput struct { // The identifier for the organization under which the resources exist. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -9159,6 +9811,9 @@ func (s *ListResourcesInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9295,7 +9950,7 @@ type ListUsersInput struct { // The identifier for the organization under which the users exist. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -9320,6 +9975,9 @@ func (s *ListUsersInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9772,8 +10430,8 @@ func (s *OrganizationNotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// The organization must have a valid state (Active or Synchronizing) to perform -// certain operations on the organization or its members. +// The organization must have a valid state to perform certain operations on +// the organization or its members. type OrganizationStateException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -9836,13 +10494,16 @@ type OrganizationSummary struct { // The alias associated with the organization. Alias *string `min:"1" type:"string"` + // The default email domain associated with the organization. + DefaultMailDomain *string `min:"3" type:"string"` + // The error message associated with the organization. It is only present if // unexpected behavior has occurred with regards to the organization. It provides // insight or solutions regarding unexpected behavior. ErrorMessage *string `type:"string"` // The identifier associated with the organization. - OrganizationId *string `type:"string"` + OrganizationId *string `min:"34" type:"string"` // The state associated with the organization. State *string `type:"string"` @@ -9864,6 +10525,12 @@ func (s *OrganizationSummary) SetAlias(v string) *OrganizationSummary { return s } +// SetDefaultMailDomain sets the DefaultMailDomain field's value. +func (s *OrganizationSummary) SetDefaultMailDomain(v string) *OrganizationSummary { + s.DefaultMailDomain = &v + return s +} + // SetErrorMessage sets the ErrorMessage field's value. func (s *OrganizationSummary) SetErrorMessage(v string) *OrganizationSummary { s.ErrorMessage = &v @@ -9975,7 +10642,7 @@ type PutAccessControlRuleInput struct { // The identifier of the organization. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // User IDs to include in the rule. UserIds []*string `type:"list"` @@ -10009,6 +10676,9 @@ func (s *PutAccessControlRuleInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10108,7 +10778,7 @@ type PutMailboxPermissionsInput struct { // exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The permissions granted to the grantee. SEND_AS allows the grantee to send // email as the owner of the mailbox (the grantee is not mentioned on these @@ -10149,6 +10819,9 @@ func (s *PutMailboxPermissionsInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.PermissionValues == nil { invalidParams.Add(request.NewErrParamRequired("PermissionValues")) } @@ -10219,7 +10892,7 @@ type PutRetentionPolicyInput struct { // The organization ID. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -10250,6 +10923,9 @@ func (s *PutRetentionPolicyInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.FolderConfigurations != nil { for i, v := range s.FolderConfigurations { if v == nil { @@ -10328,7 +11004,7 @@ type RegisterToWorkMailInput struct { // exists. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -10359,6 +11035,9 @@ func (s *RegisterToWorkMailInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10461,7 +11140,7 @@ type ResetPasswordInput struct { // is reset. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The new password for the user. // @@ -10490,6 +11169,9 @@ func (s *ResetPasswordInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.Password == nil { invalidParams.Add(request.NewErrParamRequired("Password")) } @@ -10695,7 +11377,7 @@ type StartMailboxExportJobInput struct { // The identifier associated with the organization. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The ARN of the AWS Identity and Access Management (IAM) role that grants // write permission to the S3 bucket. @@ -10745,6 +11427,9 @@ func (s *StartMailboxExportJobInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.RoleArn == nil { invalidParams.Add(request.NewErrParamRequired("RoleArn")) } @@ -11169,7 +11854,7 @@ type UpdateMailboxQuotaInput struct { // the mailbox quota. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The identifer for the user for whom to update the mailbox quota. // @@ -11199,6 +11884,9 @@ func (s *UpdateMailboxQuotaInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.UserId == nil { invalidParams.Add(request.NewErrParamRequired("UserId")) } @@ -11260,7 +11948,7 @@ type UpdatePrimaryEmailAddressInput struct { // The organization that contains the user, group, or resource to update. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -11291,6 +11979,9 @@ func (s *UpdatePrimaryEmailAddressInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11343,12 +12034,12 @@ type UpdateResourceInput struct { // updated. // // OrganizationId is a required field - OrganizationId *string `type:"string" required:"true"` + OrganizationId *string `min:"34" type:"string" required:"true"` // The identifier of the resource to be updated. // // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` + ResourceId *string `min:"34" type:"string" required:"true"` } // String returns the string representation @@ -11370,9 +12061,15 @@ func (s *UpdateResourceInput) Validate() error { if s.OrganizationId == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationId")) } + if s.OrganizationId != nil && len(*s.OrganizationId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 34)) + } if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } + if s.ResourceId != nil && len(*s.ResourceId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 34)) + } if invalidParams.Len() > 0 { return invalidParams diff --git a/service/workmail/errors.go b/service/workmail/errors.go index 1008704cc58..799c08b5fb6 100644 --- a/service/workmail/errors.go +++ b/service/workmail/errors.go @@ -8,6 +8,13 @@ import ( const ( + // ErrCodeDirectoryInUseException for service response error code + // "DirectoryInUseException". + // + // The directory is already in use by another WorkMail organization in the same + // account and Region. + ErrCodeDirectoryInUseException = "DirectoryInUseException" + // ErrCodeDirectoryServiceAuthenticationFailedException for service response error code // "DirectoryServiceAuthenticationFailedException". // @@ -17,7 +24,7 @@ const ( // ErrCodeDirectoryUnavailableException for service response error code // "DirectoryUnavailableException". // - // The directory on which you are trying to perform operations isn't available. + // The directory is unavailable. It might be located in another Region or deleted. ErrCodeDirectoryUnavailableException = "DirectoryUnavailableException" // ErrCodeEmailAddressInUseException for service response error code @@ -104,8 +111,8 @@ const ( // ErrCodeOrganizationStateException for service response error code // "OrganizationStateException". // - // The organization must have a valid state (Active or Synchronizing) to perform - // certain operations on the organization or its members. + // The organization must have a valid state to perform certain operations on + // the organization or its members. ErrCodeOrganizationStateException = "OrganizationStateException" // ErrCodeReservedNameException for service response error code @@ -134,6 +141,7 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "DirectoryInUseException": newErrorDirectoryInUseException, "DirectoryServiceAuthenticationFailedException": newErrorDirectoryServiceAuthenticationFailedException, "DirectoryUnavailableException": newErrorDirectoryUnavailableException, "EmailAddressInUseException": newErrorEmailAddressInUseException, diff --git a/service/workmail/workmailiface/interface.go b/service/workmail/workmailiface/interface.go index bf25470dae1..a8db5e9c0ed 100644 --- a/service/workmail/workmailiface/interface.go +++ b/service/workmail/workmailiface/interface.go @@ -80,6 +80,10 @@ type WorkMailAPI interface { CreateGroupWithContext(aws.Context, *workmail.CreateGroupInput, ...request.Option) (*workmail.CreateGroupOutput, error) CreateGroupRequest(*workmail.CreateGroupInput) (*request.Request, *workmail.CreateGroupOutput) + CreateOrganization(*workmail.CreateOrganizationInput) (*workmail.CreateOrganizationOutput, error) + CreateOrganizationWithContext(aws.Context, *workmail.CreateOrganizationInput, ...request.Option) (*workmail.CreateOrganizationOutput, error) + CreateOrganizationRequest(*workmail.CreateOrganizationInput) (*request.Request, *workmail.CreateOrganizationOutput) + CreateResource(*workmail.CreateResourceInput) (*workmail.CreateResourceOutput, error) CreateResourceWithContext(aws.Context, *workmail.CreateResourceInput, ...request.Option) (*workmail.CreateResourceOutput, error) CreateResourceRequest(*workmail.CreateResourceInput) (*request.Request, *workmail.CreateResourceOutput) @@ -104,6 +108,10 @@ type WorkMailAPI interface { DeleteMailboxPermissionsWithContext(aws.Context, *workmail.DeleteMailboxPermissionsInput, ...request.Option) (*workmail.DeleteMailboxPermissionsOutput, error) DeleteMailboxPermissionsRequest(*workmail.DeleteMailboxPermissionsInput) (*request.Request, *workmail.DeleteMailboxPermissionsOutput) + DeleteOrganization(*workmail.DeleteOrganizationInput) (*workmail.DeleteOrganizationOutput, error) + DeleteOrganizationWithContext(aws.Context, *workmail.DeleteOrganizationInput, ...request.Option) (*workmail.DeleteOrganizationOutput, error) + DeleteOrganizationRequest(*workmail.DeleteOrganizationInput) (*request.Request, *workmail.DeleteOrganizationOutput) + DeleteResource(*workmail.DeleteResourceInput) (*workmail.DeleteResourceOutput, error) DeleteResourceWithContext(aws.Context, *workmail.DeleteResourceInput, ...request.Option) (*workmail.DeleteResourceOutput, error) DeleteResourceRequest(*workmail.DeleteResourceInput) (*request.Request, *workmail.DeleteResourceOutput) diff --git a/service/workspaces/api.go b/service/workspaces/api.go index 32ea4f7a946..f4d371c0d3d 100644 --- a/service/workspaces/api.go +++ b/service/workspaces/api.go @@ -347,6 +347,15 @@ func (c *WorkSpaces) CopyWorkspaceImageRequest(input *CopyWorkspaceImageInput) ( // CopyWorkspaceImage API operation for Amazon WorkSpaces. // // Copies the specified image from the specified Region to the current Region. +// For more information about copying images, see Copy a Custom WorkSpaces Image +// (https://docs.aws.amazon.com/workspaces/latest/adminguide/copy-custom-image.html). +// +// Before copying a shared image, be sure to verify that it has been shared +// from the correct AWS account. To determine if an image has been shared and +// to see the AWS account ID that owns an image, use the DescribeWorkSpaceImages +// (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImages.html) +// and DescribeWorkspaceImagePermissions (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImagePermissions.html) +// API 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 @@ -2895,6 +2904,10 @@ func (c *WorkSpaces) ListAvailableManagementCidrRangesRequest(input *ListAvailab // you can use for the network management interface when you enable Bring Your // Own License (BYOL). // +// This operation can be run only by AWS accounts that are enabled for BYOL. +// If your account isn't enabled for BYOL, you'll receive an AccessDeniedException +// error. +// // The management network interface is connected to a secure Amazon WorkSpaces // management network. It is used for interactive streaming of the WorkSpace // desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage @@ -4334,13 +4347,18 @@ func (c *WorkSpaces) TerminateWorkspacesRequest(input *TerminateWorkspacesInput) // Terminates the specified WorkSpaces. // // Terminating a WorkSpace is a permanent action and cannot be undone. The user's -// data is destroyed. If you need to archive any user data, contact Amazon Web -// Services before terminating the WorkSpace. +// data is destroyed. If you need to archive any user data, contact AWS Support +// before terminating the WorkSpace. // // You can terminate a WorkSpace that is in any state except SUSPENDED. // // This operation is asynchronous and returns before the WorkSpaces have been -// completely terminated. +// completely terminated. After a WorkSpace is terminated, the TERMINATED state +// is returned only briefly before the WorkSpace directory metadata is cleaned +// up, so this state is rarely returned. To confirm that a WorkSpace is terminated, +// check for the WorkSpace ID by using DescribeWorkSpaces (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html). +// If the WorkSpace ID isn't returned, then the WorkSpace has been successfully +// terminated. // // 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 @@ -4624,7 +4642,8 @@ func (c *WorkSpaces) UpdateWorkspaceImagePermissionRequest(input *UpdateWorkspac // Shares or unshares an image with one account by specifying whether that account // has permission to copy the image. If the copy image permission is granted, // the image is shared with that account. If the copy image permission is revoked, -// the image is unshared with the account. +// the image is unshared with the account. For more information about sharing +// images, see Share or Unshare a Custom WorkSpaces Image (https://docs.aws.amazon.com/workspaces/latest/adminguide/share-custom-image.html). // // * To delete an image that has been shared, you must unshare the image // before you delete it. @@ -5607,9 +5626,7 @@ type CreateTagsInput struct { // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` - // The tags. Each WorkSpaces resource can have a maximum of 50 tags. If you - // want to add new tags to a set of existing tags, you must submit all of the - // existing tags along with the new ones. + // The tags. Each WorkSpaces resource can have a maximum of 50 tags. // // Tags is a required field Tags []*Tag `type:"list" required:"true"` @@ -7598,7 +7615,8 @@ func (s *FailedWorkspaceChangeRequest) SetWorkspaceId(v string) *FailedWorkspace } // Describes the AWS accounts that have been granted permission to use a shared -// image. +// image. For more information about sharing images, see Share or Unshare a +// Custom WorkSpaces Image (https://docs.aws.amazon.com/workspaces/latest/adminguide/share-custom-image.html). type ImagePermission struct { _ struct{} `type:"structure"` @@ -10329,6 +10347,9 @@ type UpdateWorkspaceImagePermissionInput struct { // The identifier of the AWS account to share or unshare the image with. // + // Before sharing the image, confirm that you are sharing to the correct AWS + // account ID. + // // SharedAccountId is a required field SharedAccountId *string `type:"string" required:"true"` } @@ -10449,6 +10470,13 @@ type Workspace struct { RootVolumeEncryptionEnabled *bool `type:"boolean"` // The operational state of the WorkSpace. + // + // After a WorkSpace is terminated, the TERMINATED state is returned only briefly + // before the WorkSpace directory metadata is cleaned up, so this state is rarely + // returned. To confirm that a WorkSpace is terminated, check for the WorkSpace + // ID by using DescribeWorkSpaces (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html). + // If the WorkSpace ID isn't returned, then the WorkSpace has been successfully + // terminated. State *string `type:"string" enum:"WorkspaceState"` // The identifier of the subnet for the WorkSpace. @@ -10948,7 +10976,13 @@ type WorkspaceDirectory struct { // The default self-service permissions for WorkSpaces in the directory. SelfservicePermissions *SelfservicePermissions `type:"structure"` - // The state of the directory's registration with Amazon WorkSpaces. + // The state of the directory's registration with Amazon WorkSpaces. After a + // directory is deregistered, the DEREGISTERED state is returned very briefly + // before the directory metadata is cleaned up, so this state is rarely returned. + // To confirm that a directory is deregistered, check for the directory ID by + // using DescribeWorkspaceDirectories (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceDirectories.html). + // If the directory ID isn't returned, then the directory has been successfully + // deregistered. State *string `type:"string" enum:"WorkspaceDirectoryState"` // The identifiers of the subnets used with the directory. diff --git a/service/xray/api.go b/service/xray/api.go index 40a46f2aefa..964f2763cab 100644 --- a/service/xray/api.go +++ b/service/xray/api.go @@ -1802,8 +1802,8 @@ func (c *XRay) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req // The request exceeds the maximum number of requests per second. // // * ResourceNotFoundException -// The resource was not found. Verify that the name or ARN of the resource is -// correct. +// The resource was not found. Verify that the name or Amazon Resource Name +// (ARN) of the resource is correct. // // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource func (c *XRay) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { @@ -2045,7 +2045,7 @@ func (c *XRay) PutTraceSegmentsRequest(input *PutTraceSegmentsInput) (req *reque // schema, see AWS X-Ray Segment Documents (https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html) // in the AWS X-Ray Developer Guide. // -// Required Segment Document Fields +// Required segment document fields // // * name - The name of the service that handled the request. // @@ -2063,18 +2063,17 @@ func (c *XRay) PutTraceSegmentsRequest(input *PutTraceSegmentsInput) (req *reque // or 1.480615200090E9. Specify either an end_time or in_progress. // // * in_progress - Set to true instead of specifying an end_time to record -// that a segment has been started, but is not complete. Send an in progress +// that a segment has been started, but is not complete. Send an in-progress // segment when your application receives a request that will take a long -// time to serve, to trace the fact that the request was received. When the -// response is sent, send the complete segment to overwrite the in-progress -// segment. +// time to serve, to trace that the request was received. When the response +// is sent, send the complete segment to overwrite the in-progress segment. // // A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. // This includes: // // Trace ID Format // -// * The version number, i.e. 1. +// * The version number, for instance, 1. // // * The time of the original request, in Unix epoch time, in 8 hexadecimal // digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 @@ -2181,8 +2180,8 @@ func (c *XRay) TagResourceRequest(input *TagResourceInput) (req *request.Request // The request exceeds the maximum number of requests per second. // // * ResourceNotFoundException -// The resource was not found. Verify that the name or ARN of the resource is -// correct. +// The resource was not found. Verify that the name or Amazon Resource Name +// (ARN) of the resource is correct. // // * TooManyTagsException // You have exceeded the maximum number of tags you can apply to this resource. @@ -2272,8 +2271,8 @@ func (c *XRay) UntagResourceRequest(input *UntagResourceInput) (req *request.Req // The request exceeds the maximum number of requests per second. // // * ResourceNotFoundException -// The resource was not found. Verify that the name or ARN of the resource is -// correct. +// The resource was not found. Verify that the name or Amazon Resource Name +// (ARN) of the resource is correct. // // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource func (c *XRay) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -2503,7 +2502,7 @@ func (s *Alias) SetType(v string) *Alias { return s } -// Value of a segment annotation. Has one of three value types: Number, Boolean +// Value of a segment annotation. Has one of three value types: Number, Boolean, // or String. type AnnotationValue struct { _ struct{} `type:"structure"` @@ -2546,11 +2545,11 @@ func (s *AnnotationValue) SetStringValue(v string) *AnnotationValue { return s } -// A list of availability zones corresponding to the segments in a trace. +// A list of Availability Zones corresponding to the segments in a trace. type AvailabilityZoneDetail struct { _ struct{} `type:"structure"` - // The name of a corresponding availability zone. + // The name of a corresponding Availability Zone. Name *string `type:"string"` } @@ -2732,9 +2731,14 @@ type CreateGroupInput struct { // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` - // The structure containing configurations related to insights. The InsightsEnabled - // boolean can be set to true to enable insights for the new group or false - // to disable insights for the new group. + // The structure containing configurations related to insights. + // + // * The InsightsEnabled boolean can be set to true to enable insights for + // the new group or false to disable insights for the new group. + // + // * The NotifcationsEnabled boolean can be set to true to enable insights + // notifications for the new group. Notifications may only be enabled on + // a group with InsightsEnabled set to true. InsightsConfiguration *InsightsConfiguration `type:"structure"` // A map that contains one or more tag keys and tag values to attach to an X-Ray @@ -2823,8 +2827,9 @@ type CreateGroupOutput struct { _ struct{} `type:"structure"` // The group that was created. Contains the name of the group that was created, - // the ARN of the group that was generated based on the group name, the filter - // expression, and the insight configuration that was assigned to the group. + // the Amazon Resource Name (ARN) of the group that was generated based on the + // group name, the filter expression, and the insight configuration that was + // assigned to the group. Group *Group `type:"structure"` } @@ -3697,7 +3702,8 @@ type GetGroupOutput struct { _ struct{} `type:"structure"` // The group that was requested. Contains the name of the group, the ARN of - // the group, and the filter expression that assigned to the group. + // the group, the filter expression, and the insight configuration assigned + // to the group. Group *Group `type:"structure"` } @@ -3994,10 +4000,11 @@ type GetServiceGraphInput struct { // EndTime is a required field EndTime *time.Time `type:"timestamp" required:"true"` - // The ARN of a group to generate a graph based on. + // The Amazon Resource Name (ARN) of a group based on which you want to generate + // a graph. GroupARN *string `min:"1" type:"string"` - // The name of a group to generate a graph based on. + // The name of a group based on which you want to generate a graph. GroupName *string `min:"1" type:"string"` // Pagination token. @@ -4146,7 +4153,8 @@ type GetTimeSeriesServiceStatisticsInput struct { // edge statistics are returned. EntitySelectorExpression *string `min:"1" type:"string"` - // The ARN of the group for which to pull statistics from. + // The Amazon Resource Name (ARN) of the group for which to pull statistics + // from. GroupARN *string `min:"1" type:"string"` // The case-sensitive name of the group for which to pull statistics from. @@ -4245,8 +4253,8 @@ type GetTimeSeriesServiceStatisticsOutput struct { _ struct{} `type:"structure"` // A flag indicating whether or not a group's filter expression has been consistent, - // or if a returned aggregation may show statistics from an older version of - // the group's filter expression. + // or if a returned aggregation might show statistics from an older version + // of the group's filter expression. ContainsOldGroupVersions *bool `type:"boolean"` // Pagination token. @@ -4382,7 +4390,7 @@ type GetTraceSummariesInput struct { // Set to true to get summaries for only a subset of available traces. Sampling *bool `type:"boolean"` - // A paramater to indicate whether to enable sampling on trace summaries. Input + // A parameter to indicate whether to enable sampling on trace summaries. Input // parameters are Name and Value. SamplingStrategy *SamplingStrategy `type:"structure"` @@ -4472,7 +4480,7 @@ type GetTraceSummariesOutput struct { // If the requested time frame contained more than one page of results, you // can use this token to retrieve the next page. The first page contains the - // most most recent results, closest to the end of the time frame. + // most recent results, closest to the end of the time frame. NextToken *string `type:"string"` // Trace IDs and annotations for traces that were found in the specified time @@ -4525,15 +4533,19 @@ type Group struct { // The filter expression defining the parameters to include traces. FilterExpression *string `type:"string"` - // The ARN of the group generated based on the GroupName. + // The Amazon Resource Name (ARN) of the group generated based on the GroupName. GroupARN *string `type:"string"` // The unique case-sensitive name of the group. GroupName *string `type:"string"` - // The structure containing configurations related to insights. The InsightsEnabled - // boolean can be set to true to enable insights for the group or false to disable - // insights for the group. + // The structure containing configurations related to insights. + // + // * The InsightsEnabled boolean can be set to true to enable insights for + // the group or false to disable insights for the group. + // + // * The NotifcationsEnabled boolean can be set to true to enable insights + // notifications through Amazon EventBridge for the group. InsightsConfiguration *InsightsConfiguration `type:"structure"` } @@ -4584,9 +4596,14 @@ type GroupSummary struct { // The unique case-sensitive name of the group. GroupName *string `type:"string"` - // The structure containing configurations related to insights. The InsightsEnabled - // boolean can be set to true to enable insights for the groups or false to - // disable insights for the groups. + // The structure containing configurations related to insights. + // + // * The InsightsEnabled boolean can be set to true to enable insights for + // the group or false to disable insights for the group. + // + // * The NotificationsEnabled boolean can be set to true to enable insights + // notifications. Notifications can only be enabled on a group with InsightsEnabled + // set to true. InsightsConfiguration *InsightsConfiguration `type:"structure"` } @@ -4725,6 +4742,11 @@ type InsightsConfiguration struct { // Set the InsightsEnabled value to true to enable insights or false to disable // insights. InsightsEnabled *bool `type:"boolean"` + + // Set the NotificationsEnabled value to true to enable insights notifications. + // Notifications can only be enabled on a group with InsightsEnabled set to + // true. + NotificationsEnabled *bool `type:"boolean"` } // String returns the string representation @@ -4743,6 +4765,12 @@ func (s *InsightsConfiguration) SetInsightsEnabled(v bool) *InsightsConfiguratio return s } +// SetNotificationsEnabled sets the NotificationsEnabled field's value. +func (s *InsightsConfiguration) SetNotificationsEnabled(v bool) *InsightsConfiguration { + s.NotificationsEnabled = &v + return s +} + // A list of EC2 instance IDs corresponding to the segments in a trace. type InstanceIdDetail struct { _ struct{} `type:"structure"` @@ -5163,8 +5191,8 @@ func (s *ResourceARNDetail) SetARN(v string) *ResourceARNDetail { return s } -// The resource was not found. Verify that the name or ARN of the resource is -// correct. +// The resource was not found. Verify that the name or Amazon Resource Name +// (ARN) of the resource is correct. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -5261,7 +5289,7 @@ func (s *ResponseTimeRootCause) SetServices(v []*ResponseTimeRootCauseService) * type ResponseTimeRootCauseEntity struct { _ struct{} `type:"structure"` - // The types and messages of the exceptions. + // The type and messages of the exceptions. Coverage *float64 `type:"double"` // The name of the entity. @@ -5849,7 +5877,7 @@ func (s *SamplingRuleUpdate) SetURLPath(v string) *SamplingRuleUpdate { } // Aggregated request sampling data for a sampling rule across all services -// for a 10 second window. +// for a 10-second window. type SamplingStatisticSummary struct { _ struct{} `type:"structure"` @@ -6068,7 +6096,7 @@ type SamplingTargetDocument struct { // again. Interval *int64 `type:"integer"` - // The number of requests per second that X-Ray allocated this service. + // The number of requests per second that X-Ray allocated for this service. ReservoirQuota *int64 `type:"integer"` // When the reservoir quota expires. @@ -6158,7 +6186,7 @@ func (s *Segment) SetId(v string) *Segment { } // Information about an application that processed requests, users that made -// requests, or downstream services, resources and applications that an application +// requests, or downstream services, resources, and applications that an application // used. type Service struct { _ struct{} `type:"structure"` @@ -6202,7 +6230,7 @@ type Service struct { // The type of service. // // * AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance - // for a application running on Amazon EC2 or AWS::DynamoDB::Table for an + // for an application running on Amazon EC2 or AWS::DynamoDB::Table for an // Amazon DynamoDB table that the application used. // // * AWS Service - The type of an AWS service. For example, AWS::DynamoDB @@ -6832,6 +6860,11 @@ type Trace struct { // and subsegments. Id *string `min:"1" type:"string"` + // LimitExceeded is set to true when the trace has exceeded one of the defined + // quotas. For more information about quotas, see AWS X-Ray endpoints and quotas + // (https://docs.aws.amazon.com/general/latest/gr/xray.html). + LimitExceeded *bool `type:"boolean"` + // Segment documents for the segments and subsegments that comprise the trace. Segments []*Segment `type:"list"` } @@ -6858,6 +6891,12 @@ func (s *Trace) SetId(v string) *Trace { return s } +// SetLimitExceeded sets the LimitExceeded field's value. +func (s *Trace) SetLimitExceeded(v bool) *Trace { + s.LimitExceeded = &v + return s +} + // SetSegments sets the Segments field's value. func (s *Trace) SetSegments(v []*Segment) *Trace { s.Segments = v @@ -6871,7 +6910,7 @@ type TraceSummary struct { // Annotations from the trace's segment documents. Annotations map[string][]*ValueWithServiceIds `type:"map"` - // A list of availability zones for any zone corresponding to the trace segments. + // A list of Availability Zones for any zone corresponding to the trace segments. AvailabilityZones []*AvailabilityZoneDetail `type:"list"` // The length of time in seconds between the start time of the root segment @@ -6884,8 +6923,7 @@ type TraceSummary struct { // A collection of ErrorRootCause structures corresponding to the trace segments. ErrorRootCauses []*ErrorRootCause `type:"list"` - // A collection of FaultRootCause structures corresponding to the the trace - // segments. + // A collection of FaultRootCause structures corresponding to the trace segments. FaultRootCauses []*FaultRootCause `type:"list"` // The root segment document has a 400 series error. @@ -7266,9 +7304,14 @@ type UpdateGroupInput struct { // The case-sensitive name of the group. GroupName *string `min:"1" type:"string"` - // The structure containing configurations related to insights. The InsightsEnabled - // boolean can be set to true to enable insights for the group or false to disable - // insights for the group. + // The structure containing configurations related to insights. + // + // * The InsightsEnabled boolean can be set to true to enable insights for + // the group or false to disable insights for the group. + // + // * The NotifcationsEnabled boolean can be set to true to enable insights + // notifications for the group. Notifications can only be enabled on a group + // with InsightsEnabled set to true. InsightsConfiguration *InsightsConfiguration `type:"structure"` } diff --git a/service/xray/errors.go b/service/xray/errors.go index f3ad835de2c..7ee15afb6aa 100644 --- a/service/xray/errors.go +++ b/service/xray/errors.go @@ -17,8 +17,8 @@ const ( // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // - // The resource was not found. Verify that the name or ARN of the resource is - // correct. + // The resource was not found. Verify that the name or Amazon Resource Name + // (ARN) of the resource is correct. ErrCodeResourceNotFoundException = "ResourceNotFoundException" // ErrCodeRuleLimitExceededException for service response error code