From aa907c6969a3d103e6659d9f098f55d13dfde232 Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Tue, 13 Jun 2023 18:05:18 +0000 Subject: [PATCH] Update API model --- .../sdk-codegen/aws-models/cloudtrail.json | 79 +- .../aws-models/codeguru-security.json | 3017 ++++++++++++ codegen/sdk-codegen/aws-models/drs.json | 1226 ++++- codegen/sdk-codegen/aws-models/ec2.json | 540 ++- .../sdk-codegen/aws-models/imagebuilder.json | 126 +- codegen/sdk-codegen/aws-models/lightsail.json | 551 ++- codegen/sdk-codegen/aws-models/s3.json | 6 + .../sdk-codegen/aws-models/securityhub.json | 1116 ++++- .../aws-models/simspaceweaver.json | 102 +- .../aws-models/verifiedpermissions.json | 4314 +++++++++++++++++ codegen/sdk-codegen/aws-models/wafv2.json | 257 +- .../aws-models/wellarchitected.json | 2461 ++++++++-- 12 files changed, 13116 insertions(+), 679 deletions(-) create mode 100644 codegen/sdk-codegen/aws-models/codeguru-security.json create mode 100644 codegen/sdk-codegen/aws-models/verifiedpermissions.json diff --git a/codegen/sdk-codegen/aws-models/cloudtrail.json b/codegen/sdk-codegen/aws-models/cloudtrail.json index afbd9702a81..a2cd6425b2a 100644 --- a/codegen/sdk-codegen/aws-models/cloudtrail.json +++ b/codegen/sdk-codegen/aws-models/cloudtrail.json @@ -246,7 +246,7 @@ "Field": { "target": "com.amazonaws.cloudtrail#SelectorField", "traits": { - "smithy.api#documentation": "

A field in a CloudTrail event record on which to filter events to be logged. For\n event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events, the field is used only for\n selecting events as filtering is not supported.

\n

For CloudTrail event records, supported fields include readOnly,\n eventCategory, eventSource (for management events),\n eventName, resources.type, and resources.ARN.

\n

For event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events, the only supported field is\n eventCategory.

\n ", + "smithy.api#documentation": "

A field in a CloudTrail event record on which to filter events to be logged. For\n event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events, the field is used only for\n selecting events as filtering is not supported.

\n

For CloudTrail event records, supported fields include readOnly,\n eventCategory, eventSource (for management events),\n eventName, resources.type, and resources.ARN.

\n

For event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events, the only supported field is\n eventCategory.

\n ", "smithy.api#required": {} } }, @@ -780,7 +780,7 @@ "name": "cloudtrail" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "CloudTrail\n

This is the CloudTrail API Reference. It provides descriptions of actions, data\n types, common parameters, and common errors for CloudTrail.

\n

CloudTrail is a web service that records Amazon Web Services API calls for your\n Amazon Web Services account and delivers log files to an Amazon S3 bucket. The\n recorded information includes the identity of the user, the start time of the Amazon Web Services API call, the source IP address, the request parameters, and the response\n elements returned by the service.

\n \n

As an alternative to the API, you can use one of the Amazon Web Services SDKs, which\n consist of libraries and sample code for various programming languages and platforms\n (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide programmatic access to CloudTrail. For example, the SDKs handle cryptographically signing requests,\n managing errors, and retrying requests automatically. For more information about the\n Amazon Web Services SDKs, including how to download and install them, see Tools to Build on Amazon Web Services.

\n
\n

See the CloudTrail\n User Guide for information about the data that is included with each Amazon Web Services API call listed in the log files.

\n

\n Actions available for CloudTrail trails\n

\n

The following actions are available for CloudTrail trails.

\n \n

\n Actions available for CloudTrail event data stores\n

\n

The following actions are available for CloudTrail event data stores.

\n \n

\n Actions available for CloudTrail channels\n

\n

The following actions are available for CloudTrail channels.

\n \n

\n Actions available for managing delegated administrators\n

\n

The following actions are available for adding or a removing a delegated administrator to manage an Organizations organization’s CloudTrail resources.

\n ", + "smithy.api#documentation": "CloudTrail\n

This is the CloudTrail API Reference. It provides descriptions of actions, data\n types, common parameters, and common errors for CloudTrail.

\n

CloudTrail is a web service that records Amazon Web Services API calls for your\n Amazon Web Services account and delivers log files to an Amazon S3 bucket. The\n recorded information includes the identity of the user, the start time of the Amazon Web Services API call, the source IP address, the request parameters, and the response\n elements returned by the service.

\n \n

As an alternative to the API, you can use one of the Amazon Web Services SDKs, which\n consist of libraries and sample code for various programming languages and platforms\n (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide programmatic access to CloudTrail. For example, the SDKs handle cryptographically signing requests,\n managing errors, and retrying requests automatically. For more information about the\n Amazon Web Services SDKs, including how to download and install them, see Tools to Build on Amazon Web Services.

\n
\n

See the CloudTrail\n User Guide for information about the data that is included with each Amazon Web Services API call listed in the log files.

", "smithy.api#title": "AWS CloudTrail", "smithy.api#xmlNamespace": { "uri": "http://cloudtrail.amazonaws.com/doc/2013-11-01/" @@ -2428,7 +2428,7 @@ "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#deprecated": {}, - "smithy.api#documentation": "

This field is no longer in use. Use SnsTopicARN.

" + "smithy.api#documentation": "

This field is no longer in use. Use SnsTopicARN.

" } }, "SnsTopicARN": { @@ -2497,7 +2497,7 @@ "Type": { "target": "com.amazonaws.cloudtrail#String", "traits": { - "smithy.api#documentation": "

The resource type in which you want to log data events. You can specify the following\n basic event selector resource types:

\n \n

The following resource types are also available through advanced\n event selectors. Basic event selector resource types are valid in advanced event selectors,\n but advanced event selector resource types are not valid in basic event selectors. For more\n information, see AdvancedFieldSelector$Field.

\n " + "smithy.api#documentation": "

The resource type in which you want to log data events. You can specify the following\n basic event selector resource types:

\n \n

The following resource types are also available through advanced\n event selectors. Basic event selector resource types are valid in advanced event selectors,\n but advanced event selector resource types are not valid in basic event selectors. For more\n information, see AdvancedFieldSelector.

\n " } }, "Values": { @@ -2966,7 +2966,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns metadata about a query, including query run time in milliseconds, number of\n events scanned and matched, and query status. You must specify an ARN for\n EventDataStore, and a value for QueryID.

", + "smithy.api#documentation": "

Returns metadata about a query, including query run time in milliseconds, number of\n events scanned and matched, and query status. If the query results were delivered to an S3 bucket, \n the response also provides the S3 URI and the delivery status.

\n

You must specify either a QueryID or a QueryAlias. Specifying\n the QueryAlias parameter returns information about the last query run for the\n alias.

", "smithy.api#idempotent": {} } }, @@ -2985,8 +2985,13 @@ "QueryId": { "target": "com.amazonaws.cloudtrail#UUID", "traits": { - "smithy.api#documentation": "

The query ID.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The query ID.

" + } + }, + "QueryAlias": { + "target": "com.amazonaws.cloudtrail#QueryAlias", + "traits": { + "smithy.api#documentation": "

\n The alias that identifies a query template.\n

" } } }, @@ -4080,7 +4085,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets event data results of a query. You must specify the QueryID value\n returned by the StartQuery operation, and an ARN for\n EventDataStore.

", + "smithy.api#documentation": "

Gets event data results of a query. You must specify the QueryID value\n returned by the StartQuery operation.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken" @@ -6948,6 +6953,16 @@ "smithy.api#documentation": "

A SQL string of criteria about events that you want to collect in an event data\n store.

" } }, + "com.amazonaws.cloudtrail#QueryAlias": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[a-zA-Z][a-zA-Z0-9._\\-]*$" + } + }, "com.amazonaws.cloudtrail#QueryIdNotFoundException": { "type": "structure", "members": { @@ -6968,6 +6983,28 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.cloudtrail#QueryParameter": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": ".*" + } + }, + "com.amazonaws.cloudtrail#QueryParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudtrail#QueryParameter" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.cloudtrail#QueryResultColumn": { "type": "map", "key": { @@ -8061,7 +8098,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a CloudTrail Lake query. The required QueryStatement\n parameter provides your SQL query, enclosed in single quotation marks. Use the optional\n DeliveryS3Uri parameter to deliver the query results to an S3\n bucket.

", + "smithy.api#documentation": "

Starts a CloudTrail Lake query. Use the QueryStatement\n parameter to provide your SQL query, enclosed in single quotation marks. Use the optional\n DeliveryS3Uri parameter to deliver the query results to an S3\n bucket.

\n

\n StartQuery requires you specify either the QueryStatement parameter, or a QueryAlias and any QueryParameters. In the current release, \n the QueryAlias and QueryParameters parameters are used only for the queries that populate the CloudTrail Lake dashboards.

", "smithy.api#idempotent": {} } }, @@ -8071,8 +8108,7 @@ "QueryStatement": { "target": "com.amazonaws.cloudtrail#QueryStatement", "traits": { - "smithy.api#documentation": "

The SQL code of your query.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The SQL code of your query.

" } }, "DeliveryS3Uri": { @@ -8080,6 +8116,18 @@ "traits": { "smithy.api#documentation": "

The URI for the S3 bucket where CloudTrail delivers the query results.

" } + }, + "QueryAlias": { + "target": "com.amazonaws.cloudtrail#QueryAlias", + "traits": { + "smithy.api#documentation": "

\n The alias that identifies a query template.\n

" + } + }, + "QueryParameters": { + "target": "com.amazonaws.cloudtrail#QueryParameters", + "traits": { + "smithy.api#documentation": "

\n The query parameters for the specified QueryAlias.\n

" + } } }, "traits": { @@ -8441,7 +8489,7 @@ "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#deprecated": {}, - "smithy.api#documentation": "

This field is no longer in use. Use SnsTopicARN.

" + "smithy.api#documentation": "

This field is no longer in use. Use SnsTopicARN.

" } }, "SnsTopicARN": { @@ -8771,6 +8819,9 @@ { "target": "com.amazonaws.cloudtrail#CloudTrailAccessNotEnabledException" }, + { + "target": "com.amazonaws.cloudtrail#EventDataStoreAlreadyExistsException" + }, { "target": "com.amazonaws.cloudtrail#EventDataStoreARNInvalidException" }, @@ -8824,7 +8875,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates an event data store. The required EventDataStore value is an ARN or\n the ID portion of the ARN. Other parameters are optional, but at least one optional\n parameter must be specified, or CloudTrail throws an error.\n RetentionPeriod is in days, and valid values are integers between 90 and\n 2557. By default, TerminationProtection is enabled.

\n

For event data stores for CloudTrail events, AdvancedEventSelectors\n includes or excludes management and data events in your event data store. For more\n information about AdvancedEventSelectors, see PutEventSelectorsRequest$AdvancedEventSelectors.

\n

For event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events,\n AdvancedEventSelectors includes events of that type in your event data store.

", + "smithy.api#documentation": "

Updates an event data store. The required EventDataStore value is an ARN or\n the ID portion of the ARN. Other parameters are optional, but at least one optional\n parameter must be specified, or CloudTrail throws an error.\n RetentionPeriod is in days, and valid values are integers between 90 and\n 2557. By default, TerminationProtection is enabled.

\n

For event data stores for CloudTrail events, AdvancedEventSelectors\n includes or excludes management and data events in your event data store. For more\n information about AdvancedEventSelectors, see \n AdvancedEventSelectors.

\n

For event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events,\n AdvancedEventSelectors includes events of that type in your event data store.

", "smithy.api#idempotent": {} } }, @@ -9171,7 +9222,7 @@ "target": "com.amazonaws.cloudtrail#String", "traits": { "smithy.api#deprecated": {}, - "smithy.api#documentation": "

This field is no longer in use. Use UpdateTrailResponse$SnsTopicARN.

" + "smithy.api#documentation": "

This field is no longer in use. Use SnsTopicARN.

" } }, "SnsTopicARN": { diff --git a/codegen/sdk-codegen/aws-models/codeguru-security.json b/codegen/sdk-codegen/aws-models/codeguru-security.json new file mode 100644 index 00000000000..d9a0416ab6a --- /dev/null +++ b/codegen/sdk-codegen/aws-models/codeguru-security.json @@ -0,0 +1,3017 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.codegurusecurity#AccessDeniedException": { + "type": "structure", + "members": { + "errorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the error.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Description of the error.

", + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the resource you don't have access to.

" + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The type of resource you don't have access to.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

You do not have sufficient access to perform this action.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.codegurusecurity#AccountFindingsMetric": { + "type": "structure", + "members": { + "date": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The date from which the finding metrics were retrieved.

" + } + }, + "newFindings": { + "target": "com.amazonaws.codegurusecurity#FindingMetricsValuePerSeverity", + "traits": { + "smithy.api#documentation": "

The number of new findings of each severity in account on the specified date.

" + } + }, + "closedFindings": { + "target": "com.amazonaws.codegurusecurity#FindingMetricsValuePerSeverity", + "traits": { + "smithy.api#documentation": "

The number of closed findings of each severity in an account on the specified date.

" + } + }, + "openFindings": { + "target": "com.amazonaws.codegurusecurity#FindingMetricsValuePerSeverity", + "traits": { + "smithy.api#documentation": "

The number of open findings of each severity in an account as of the specified date.

" + } + }, + "meanTimeToClose": { + "target": "com.amazonaws.codegurusecurity#FindingMetricsValuePerSeverity", + "traits": { + "smithy.api#documentation": "

The average time it takes to close findings of each severity in days.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A summary of findings metrics in an account.

" + } + }, + "com.amazonaws.codegurusecurity#AnalysisType": { + "type": "enum", + "members": { + "SECURITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Security" + } + }, + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "All" + } + } + } + }, + "com.amazonaws.codegurusecurity#AwsCodeGuruSecurity": { + "type": "service", + "version": "2018-05-10", + "operations": [ + { + "target": "com.amazonaws.codegurusecurity#BatchGetFindings" + }, + { + "target": "com.amazonaws.codegurusecurity#CreateScan" + }, + { + "target": "com.amazonaws.codegurusecurity#CreateUploadUrl" + }, + { + "target": "com.amazonaws.codegurusecurity#GetAccountConfiguration" + }, + { + "target": "com.amazonaws.codegurusecurity#GetFindings" + }, + { + "target": "com.amazonaws.codegurusecurity#GetMetricsSummary" + }, + { + "target": "com.amazonaws.codegurusecurity#GetScan" + }, + { + "target": "com.amazonaws.codegurusecurity#ListFindingsMetrics" + }, + { + "target": "com.amazonaws.codegurusecurity#ListScans" + }, + { + "target": "com.amazonaws.codegurusecurity#ListTagsForResource" + }, + { + "target": "com.amazonaws.codegurusecurity#TagResource" + }, + { + "target": "com.amazonaws.codegurusecurity#UntagResource" + }, + { + "target": "com.amazonaws.codegurusecurity#UpdateAccountConfiguration" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "CodeGuru Security", + "arnNamespace": "codeguru-security", + "cloudTrailEventSource": "codeguru-security.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "codeguru-security" + }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": [ + "Authorization", + "Content-Type", + "Credentials", + "X-Amz-Date", + "X-Api-Key", + "X-Amz-Security-Token", + "x-amz-content-sha256", + "X-Amz-User-Agent" + ], + "additionalExposedHeaders": [ + "x-amzn-errortype", + "x-amzn-requestid", + "x-amzn-errormessage", + "x-amzn-trace-id", + "x-amz-apigw-id", + "date" + ], + "origin": "*" + }, + "smithy.api#documentation": "

This section provides documentation for the Amazon CodeGuru Security API operations.\n CodeGuru Security is a service that uses program analysis and machine learning to detect\n security policy violations and vulnerabilities, and recommends ways to address these security\n risks.

\n

By proactively detecting and providing recommendations for addressing security risks,\n CodeGuru Security improves the overall security of your application code. For more information\n about CodeGuru Security, see the \n Amazon CodeGuru Security User Guide.

", + "smithy.api#title": "Amazon CodeGuru Security", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codeguru-security-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codeguru-security-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codeguru-security.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codeguru-security.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://codeguru-security.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.codegurusecurity#BatchGetFindings": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#BatchGetFindingsRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#BatchGetFindingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of all requested findings.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/batchGetFindings" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.codegurusecurity#BatchGetFindingsError": { + "type": "structure", + "members": { + "scanName": { + "target": "com.amazonaws.codegurusecurity#ScanName", + "traits": { + "smithy.api#documentation": "

The name of the scan that generated the finding.

", + "smithy.api#required": {} + } + }, + "findingId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The finding ID of the finding that was not fetched.

", + "smithy.api#required": {} + } + }, + "errorCode": { + "target": "com.amazonaws.codegurusecurity#ErrorCode", + "traits": { + "smithy.api#documentation": "

A code associated with the type of error.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Describes the error.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about the error that caused a finding to fail to be retrieved.

" + } + }, + "com.amazonaws.codegurusecurity#BatchGetFindingsErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#BatchGetFindingsError" + } + }, + "com.amazonaws.codegurusecurity#BatchGetFindingsRequest": { + "type": "structure", + "members": { + "findingIdentifiers": { + "target": "com.amazonaws.codegurusecurity#FindingIdentifiers", + "traits": { + "smithy.api#documentation": "

A list of finding identifiers. Each identifier consists of a scanName and a\n findingId. You retrieve the findingId when you call\n GetFindings.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#BatchGetFindingsResponse": { + "type": "structure", + "members": { + "findings": { + "target": "com.amazonaws.codegurusecurity#Findings", + "traits": { + "smithy.api#documentation": "

A list of all requested findings.

", + "smithy.api#required": {} + } + }, + "failedFindings": { + "target": "com.amazonaws.codegurusecurity#BatchGetFindingsErrors", + "traits": { + "smithy.api#documentation": "

A list of errors for individual findings which were not fetched. Each\n BatchGetFindingsError contains the scanName, findingId,\n errorCode and error message.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#CategoriesWithMostFindings": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#CategoryWithFindingNum" + }, + "traits": { + "smithy.api#length": { + "max": 5 + } + } + }, + "com.amazonaws.codegurusecurity#CategoryWithFindingNum": { + "type": "structure", + "members": { + "categoryName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the finding category. A finding category is determined by the detector that\n detected the finding.

" + } + }, + "findingNumber": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of open findings in the category.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a finding category with open findings.

" + } + }, + "com.amazonaws.codegurusecurity#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[\\S]+$" + } + }, + "com.amazonaws.codegurusecurity#CodeLine": { + "type": "structure", + "members": { + "number": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The code line number.

" + } + }, + "content": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The code that contains a vulnerability.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The line of code where a finding was detected.

" + } + }, + "com.amazonaws.codegurusecurity#CodeSnippet": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#CodeLine" + } + }, + "com.amazonaws.codegurusecurity#ConflictException": { + "type": "structure", + "members": { + "errorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the error.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Description of the error.

", + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the service resource associated with the request.

", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The type of resource associated with the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The requested operation would cause a conflict with the current state of a service\n resource associated with the request. Resolve the conflict before retrying this\n request.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.codegurusecurity#CreateScan": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#CreateScanRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#CreateScanResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#ConflictException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Use to create a scan using code uploaded to an S3 bucket.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/scans" + } + } + }, + "com.amazonaws.codegurusecurity#CreateScanRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.codegurusecurity#ClientToken", + "traits": { + "smithy.api#documentation": "

The idempotency token for the request. Amazon CodeGuru Security uses this value to prevent\n the accidental creation of duplicate scans if there are failures and retries.

", + "smithy.api#idempotencyToken": {} + } + }, + "resourceId": { + "target": "com.amazonaws.codegurusecurity#ResourceId", + "traits": { + "smithy.api#documentation": "

The identifier for an input resource used to create a scan.

", + "smithy.api#required": {} + } + }, + "scanName": { + "target": "com.amazonaws.codegurusecurity#ScanName", + "traits": { + "smithy.api#documentation": "

The unique name that CodeGuru Security uses to track revisions across multiple\n scans of the same resource. Only allowed for a STANDARD scan type. If not\n specified, it will be auto generated.

", + "smithy.api#required": {} + } + }, + "scanType": { + "target": "com.amazonaws.codegurusecurity#ScanType", + "traits": { + "smithy.api#documentation": "

The type of scan, either Standard or Express. Defaults to\n Standard type if missing.

\n

\n Express scans run on limited resources and use a limited set of detectors to\n analyze your code in near-real time. Standard scans have standard resource limits\n and use the full set of detectors to analyze your code.

" + } + }, + "analysisType": { + "target": "com.amazonaws.codegurusecurity#AnalysisType", + "traits": { + "smithy.api#documentation": "

The type of analysis you want CodeGuru Security to perform in the scan, either\n Security or All. The Secuirty type only generates\n findings related to security. The All type generates both security findings and\n quality findings. Defaults to Security type if missing.

" + } + }, + "tags": { + "target": "com.amazonaws.codegurusecurity#TagMap", + "traits": { + "smithy.api#documentation": "

An array of key-value pairs used to tag a scan. A tag is a custom attribute\n label with two parts:

\n " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#CreateScanResponse": { + "type": "structure", + "members": { + "scanName": { + "target": "com.amazonaws.codegurusecurity#ScanName", + "traits": { + "smithy.api#documentation": "

The name of the scan.

", + "smithy.api#required": {} + } + }, + "runId": { + "target": "com.amazonaws.codegurusecurity#Uuid", + "traits": { + "smithy.api#documentation": "

UUID that identifies the individual scan run.

", + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "com.amazonaws.codegurusecurity#ResourceId", + "traits": { + "smithy.api#documentation": "

The identifier for the resource object that contains resources that were scanned.

", + "smithy.api#required": {} + } + }, + "scanState": { + "target": "com.amazonaws.codegurusecurity#ScanState", + "traits": { + "smithy.api#documentation": "

The current state of the scan. Returns either InProgress,\n Successful, or Failed.

", + "smithy.api#required": {} + } + }, + "scanNameArn": { + "target": "com.amazonaws.codegurusecurity#ScanNameArn", + "traits": { + "smithy.api#documentation": "

The ARN for the scan name.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#CreateUploadUrl": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#CreateUploadUrlRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#CreateUploadUrlResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Generates a pre-signed URL and request headers used to upload a code resource.

\n

You can upload your code resource to the URL and add the request headers using any HTTP\n client.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/uploadUrl" + } + } + }, + "com.amazonaws.codegurusecurity#CreateUploadUrlRequest": { + "type": "structure", + "members": { + "scanName": { + "target": "com.amazonaws.codegurusecurity#ScanName", + "traits": { + "smithy.api#documentation": "

The name of the scan that will use the uploaded resource. CodeGuru Security uses the\n unique scan name to track revisions across multiple scans of the same resource. Use this \n scanName when you call CreateScan on the code resource you upload to this URL.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#CreateUploadUrlResponse": { + "type": "structure", + "members": { + "s3Url": { + "target": "com.amazonaws.codegurusecurity#S3Url", + "traits": { + "smithy.api#documentation": "

A pre-signed S3 URL. You can upload the code file you want to scan and add the required\n requestHeaders using any HTTP client.

", + "smithy.api#required": {} + } + }, + "requestHeaders": { + "target": "com.amazonaws.codegurusecurity#RequestHeaderMap", + "traits": { + "smithy.api#documentation": "

A set of key-value pairs that contain the required headers when uploading your\n resource.

", + "smithy.api#required": {} + } + }, + "codeArtifactId": { + "target": "com.amazonaws.codegurusecurity#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier for the uploaded code resource.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#DetectorTags": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.codegurusecurity#EncryptionConfig": { + "type": "structure", + "members": { + "kmsKeyArn": { + "target": "com.amazonaws.codegurusecurity#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

The KMS key ARN to use for encryption. This must be provided as a header when uploading\n your code resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about account-level configuration.

" + } + }, + "com.amazonaws.codegurusecurity#ErrorCode": { + "type": "enum", + "members": { + "DUPLICATE_IDENTIFIER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DUPLICATE_IDENTIFIER" + } + }, + "ITEM_DOES_NOT_EXIST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ITEM_DOES_NOT_EXIST" + } + }, + "INTERNAL_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_ERROR" + } + }, + "INVALID_FINDING_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_FINDING_ID" + } + }, + "INVALID_SCAN_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_SCAN_NAME" + } + } + } + }, + "com.amazonaws.codegurusecurity#FilePath": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the file.

" + } + }, + "path": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The path to the resource with the security vulnerability.

" + } + }, + "startLine": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The first line number of the code snippet where the security vulnerability appears in your code.

" + } + }, + "endLine": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The last line number of the code snippet where the security vulnerability appears in your\n code.

" + } + }, + "codeSnippet": { + "target": "com.amazonaws.codegurusecurity#CodeSnippet", + "traits": { + "smithy.api#documentation": "

A list of CodeLine objects that describe where the security vulnerability\n appears in your code.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the location of security vulnerabilities that Amazon CodeGuru Security\n detected in your code.

" + } + }, + "com.amazonaws.codegurusecurity#Finding": { + "type": "structure", + "members": { + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time when the finding was created.

" + } + }, + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A description of the finding.

" + } + }, + "generatorId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the component that generated a finding such as AWSCodeGuruSecurity or\n AWSInspector.

" + } + }, + "id": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for a finding.

" + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time when the finding was last updated. Findings are updated when you remediate them\n or when the finding code location changes.

" + } + }, + "type": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The type of finding.

" + } + }, + "status": { + "target": "com.amazonaws.codegurusecurity#Status", + "traits": { + "smithy.api#documentation": "

The status of the finding. A finding status can be open or closed.

" + } + }, + "resource": { + "target": "com.amazonaws.codegurusecurity#Resource", + "traits": { + "smithy.api#documentation": "

The resource where Amazon CodeGuru Security detected a finding.

" + } + }, + "vulnerability": { + "target": "com.amazonaws.codegurusecurity#Vulnerability", + "traits": { + "smithy.api#documentation": "

An object that describes the detected security vulnerability.

" + } + }, + "severity": { + "target": "com.amazonaws.codegurusecurity#Severity", + "traits": { + "smithy.api#documentation": "

The severity of the finding.

" + } + }, + "remediation": { + "target": "com.amazonaws.codegurusecurity#Remediation", + "traits": { + "smithy.api#documentation": "

An object that contains the details about how to remediate a finding.

" + } + }, + "title": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The title of the finding.

" + } + }, + "detectorTags": { + "target": "com.amazonaws.codegurusecurity#DetectorTags", + "traits": { + "smithy.api#documentation": "

One or more tags or categorizations that are associated with a detector. These tags are\n defined by type, programming language, or other classification such as maintainability or\n consistency.

" + } + }, + "detectorId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the detector that detected the finding in your code. A detector is a\n defined rule based on industry standards and AWS best practices.

" + } + }, + "detectorName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the detector that identified the security vulnerability in your code.

" + } + }, + "ruleId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the rule that generated the finding.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a finding that was detected in your code.

" + } + }, + "com.amazonaws.codegurusecurity#FindingIdentifier": { + "type": "structure", + "members": { + "scanName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the scan that generated the finding.

", + "smithy.api#required": {} + } + }, + "findingId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for a finding.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

An object that contains information about a finding and the scan that generated it.

" + } + }, + "com.amazonaws.codegurusecurity#FindingIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#FindingIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.codegurusecurity#FindingMetricsValuePerSeverity": { + "type": "structure", + "members": { + "info": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The finding is related to quality or readability improvements and not considered\n actionable.

" + } + }, + "low": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The severity of the finding is low and does require action on its own.

" + } + }, + "medium": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The severity of the finding is medium and should be addressed as a mid-term priority.

" + } + }, + "high": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The severity of the finding is high and should be addressed as a near-term priority.

" + } + }, + "critical": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The severity of the finding is critical and should be addressed immediately.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The severity of the issue in the code that generated a finding.

" + } + }, + "com.amazonaws.codegurusecurity#Findings": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#Finding" + } + }, + "com.amazonaws.codegurusecurity#FindingsMetricList": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#AccountFindingsMetric" + } + }, + "com.amazonaws.codegurusecurity#GetAccountConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#GetAccountConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#GetAccountConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Use to get account level configuration.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/accountConfiguration/get" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.codegurusecurity#GetAccountConfigurationRequest": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#GetAccountConfigurationResponse": { + "type": "structure", + "members": { + "encryptionConfig": { + "target": "com.amazonaws.codegurusecurity#EncryptionConfig", + "traits": { + "smithy.api#documentation": "

An EncryptionConfig object that contains the KMS key ARN to use for\n encryption. By default, CodeGuru Security uses an AWS-managed key for encryption. To specify\n your own key, call UpdateAccountConfiguration.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#GetFindings": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#GetFindingsRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#GetFindingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#ConflictException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of all findings generated by a particular scan.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/findings/{scanName}" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "findings" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.codegurusecurity#GetFindingsRequest": { + "type": "structure", + "members": { + "scanName": { + "target": "com.amazonaws.codegurusecurity#ScanName", + "traits": { + "smithy.api#documentation": "

The name of the scan you want to retrieve findings from.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.codegurusecurity#NextToken", + "traits": { + "smithy.api#documentation": "

A token to use for paginating results that are returned in the response. Set the value of\n this parameter to null for the first request. For subsequent calls, use the nextToken value\n returned from the previous request to continue listing results after the first page.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in the response. Use this parameter when\n paginating results. If additional results exist beyond the number you specify, the nextToken\n element is returned in the response. Use nextToken in a subsequent request to retrieve\n additional results.

", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "status": { + "target": "com.amazonaws.codegurusecurity#Status", + "traits": { + "smithy.api#documentation": "

The status of the findings you want to get. Pass either Open,\n Closed, or All.

", + "smithy.api#httpQuery": "status" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#GetFindingsResponse": { + "type": "structure", + "members": { + "findings": { + "target": "com.amazonaws.codegurusecurity#Findings", + "traits": { + "smithy.api#documentation": "

A list of findings generated by the specified scan.

" + } + }, + "nextToken": { + "target": "com.amazonaws.codegurusecurity#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token. You can use this in future calls to GetFindings to continue listing\n results after the current page.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#GetMetricsSummary": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#GetMetricsSummaryRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#GetMetricsSummaryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns top level metrics about an account from a specified date, including number of open\n findings, the categories with most findings, the scans with most open findings, and scans with\n most open critical findings.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/metrics/summary" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.codegurusecurity#GetMetricsSummaryRequest": { + "type": "structure", + "members": { + "date": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The date you want to retrieve summary metrics from, rounded to the nearest day. The date\n must be within the past two years since metrics data is only stored for two years. If a date\n outside of this range is passed, the response will be empty.

", + "smithy.api#httpQuery": "date", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#GetMetricsSummaryResponse": { + "type": "structure", + "members": { + "metricsSummary": { + "target": "com.amazonaws.codegurusecurity#MetricsSummary", + "traits": { + "smithy.api#documentation": "

The summary metrics from the specified date.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#GetScan": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#GetScanRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#GetScanResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns details about a scan, including whether or not a scan has completed.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/scans/{scanName}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.codegurusecurity#GetScanRequest": { + "type": "structure", + "members": { + "scanName": { + "target": "com.amazonaws.codegurusecurity#ScanName", + "traits": { + "smithy.api#documentation": "

The name of the scan you want to view details about.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "runId": { + "target": "com.amazonaws.codegurusecurity#Uuid", + "traits": { + "smithy.api#documentation": "

UUID that identifies the individual scan run you want to view details about. You retrieve\n this when you call the CreateScan operation. Defaults to the latest scan run if missing.

", + "smithy.api#httpQuery": "runId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#GetScanResponse": { + "type": "structure", + "members": { + "scanName": { + "target": "com.amazonaws.codegurusecurity#ScanName", + "traits": { + "smithy.api#documentation": "

The name of the scan.

", + "smithy.api#required": {} + } + }, + "runId": { + "target": "com.amazonaws.codegurusecurity#Uuid", + "traits": { + "smithy.api#documentation": "

UUID that identifies the individual scan run.

", + "smithy.api#required": {} + } + }, + "scanState": { + "target": "com.amazonaws.codegurusecurity#ScanState", + "traits": { + "smithy.api#documentation": "

The current state of the scan. Pass either InProgress,\n Successful, or Failed.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the scan was created.

", + "smithy.api#required": {} + } + }, + "analysisType": { + "target": "com.amazonaws.codegurusecurity#AnalysisType", + "traits": { + "smithy.api#documentation": "

The type of analysis CodeGuru Security performed in the scan, either\n Security or All. The Security type only generates\n findings related to security. The All type generates both security findings and\n quality findings.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time when the scan was last updated. Only available for STANDARD scan types.

" + } + }, + "numberOfRevisions": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

The number of times a scan has been re-run on a revised resource.

" + } + }, + "scanNameArn": { + "target": "com.amazonaws.codegurusecurity#ScanNameArn", + "traits": { + "smithy.api#documentation": "

The ARN for the scan name.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#HeaderKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.codegurusecurity#HeaderValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.codegurusecurity#InternalServerException": { + "type": "structure", + "members": { + "error": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The internal error encountered by the server.

" + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Description of the error.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The server encountered an internal error and is unable to complete the request.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.codegurusecurity#KmsKeyArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws:kms:[\\S]+:[\\d]{12}:key\\/(([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})|(mrk-[0-9a-zA-Z]{32}))$" + } + }, + "com.amazonaws.codegurusecurity#ListFindingsMetrics": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#ListFindingsMetricsRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#ListFindingsMetricsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns metrics about all findings in an account within a specified time range.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/metrics/findings" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "findingsMetrics" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.codegurusecurity#ListFindingsMetricsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.codegurusecurity#NextToken", + "traits": { + "smithy.api#documentation": "

A token to use for paginating results that are returned in the response. Set the\n value of this parameter to null for the first request. For subsequent calls, use the nextToken\n value returned from the previous request to continue listing results after the first\n page.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in the response. Use this parameter when\n paginating results. If additional results exist beyond the number you specify, the nextToken\n element is returned in the response. Use nextToken in a subsequent request to retrieve\n additional results.

", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "startDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The start date of the interval which you want to retrieve metrics from.

", + "smithy.api#httpQuery": "startDate", + "smithy.api#required": {} + } + }, + "endDate": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The end date of the interval which you want to retrieve metrics from.

", + "smithy.api#httpQuery": "endDate", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#ListFindingsMetricsResponse": { + "type": "structure", + "members": { + "findingsMetrics": { + "target": "com.amazonaws.codegurusecurity#FindingsMetricList", + "traits": { + "smithy.api#documentation": "

A list of AccountFindingsMetric objects retrieved from the specified time interval.

" + } + }, + "nextToken": { + "target": "com.amazonaws.codegurusecurity#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token. You can use this in future calls to ListFindingMetrics to continue\n listing results after the current page.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#ListScans": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#ListScansRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#ListScansResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of all the scans in an account.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/scans" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "summaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.codegurusecurity#ListScansRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.codegurusecurity#NextToken", + "traits": { + "smithy.api#documentation": "

A token to use for paginating results that are returned in the response. Set the value of\n this parameter to null for the first request. For subsequent calls, use the nextToken value\n returned from the previous request to continue listing results after the first page.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in the response. Use this parameter when\n paginating results. If additional results exist beyond the number you specify, the nextToken\n element is returned in the response. Use nextToken in a subsequent request to retrieve\n additional results.

", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#ListScansResponse": { + "type": "structure", + "members": { + "summaries": { + "target": "com.amazonaws.codegurusecurity#ScanSummaries", + "traits": { + "smithy.api#documentation": "

A list of ScanSummary objects with information about all scans in an account.

" + } + }, + "nextToken": { + "target": "com.amazonaws.codegurusecurity#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token. You can use this in future calls to ListScans to continue listing\n results after the current page.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#ConflictException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of all tags associated with a scan.

", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{resourceArn}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.codegurusecurity#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.codegurusecurity#ScanNameArn", + "traits": { + "smithy.api#documentation": "

The ARN of the ScanName object. You can retrieve this ARN by calling\n ListScans or GetScan.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.codegurusecurity#TagMap", + "traits": { + "smithy.api#documentation": "

An array of key-value pairs used to tag an existing scan. A tag is a custom attribute\n label with two parts:

\n " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#MetricsSummary": { + "type": "structure", + "members": { + "date": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The date from which the metrics summary information was retrieved.

" + } + }, + "openFindings": { + "target": "com.amazonaws.codegurusecurity#FindingMetricsValuePerSeverity", + "traits": { + "smithy.api#documentation": "

The number of open findings of each severity in an account.

" + } + }, + "categoriesWithMostFindings": { + "target": "com.amazonaws.codegurusecurity#CategoriesWithMostFindings", + "traits": { + "smithy.api#documentation": "

A list of CategoryWithFindingNum objects for the top 5 finding categories\n with the most open findings in an account.

" + } + }, + "scansWithMostOpenFindings": { + "target": "com.amazonaws.codegurusecurity#ScansWithMostOpenFindings", + "traits": { + "smithy.api#documentation": "

A list of ScanNameWithFindingNum objects for the top 3 scans with the most\n number of open critical findings in an account.

" + } + }, + "scansWithMostOpenCriticalFindings": { + "target": "com.amazonaws.codegurusecurity#ScansWithMostOpenCriticalFindings", + "traits": { + "smithy.api#documentation": "

A list of ScanNameWithFindingNum objects for the top 3 scans with the most\n number of open findings in an account.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about summary metrics in an account.

" + } + }, + "com.amazonaws.codegurusecurity#NextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^[\\S]+$" + } + }, + "com.amazonaws.codegurusecurity#Recommendation": { + "type": "structure", + "members": { + "text": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The recommended course of action to remediate the finding.

" + } + }, + "url": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The URL address to the recommendation for remediating the finding.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the recommended course of action to remediate a finding.

" + } + }, + "com.amazonaws.codegurusecurity#ReferenceUrls": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.codegurusecurity#RelatedVulnerabilities": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.codegurusecurity#Remediation": { + "type": "structure", + "members": { + "recommendation": { + "target": "com.amazonaws.codegurusecurity#Recommendation", + "traits": { + "smithy.api#documentation": "

An object that contains information about the recommended course of action to remediate a finding.

" + } + }, + "suggestedFixes": { + "target": "com.amazonaws.codegurusecurity#SuggestedFixes", + "traits": { + "smithy.api#documentation": "

A list of SuggestedFix objects. Each object contains information about a suggested code\n fix to remediate the finding.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about how to remediate a finding.

" + } + }, + "com.amazonaws.codegurusecurity#RequestHeaderMap": { + "type": "map", + "key": { + "target": "com.amazonaws.codegurusecurity#HeaderKey" + }, + "value": { + "target": "com.amazonaws.codegurusecurity#HeaderValue" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.codegurusecurity#Resource": { + "type": "structure", + "members": { + "id": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the resource.

" + } + }, + "subResourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for a section of the resource, such as an AWS Lambda layer.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a resource, such as an Amazon S3 bucket or AWS Lambda function, that\n contains a finding.

" + } + }, + "com.amazonaws.codegurusecurity#ResourceId": { + "type": "union", + "members": { + "codeArtifactId": { + "target": "com.amazonaws.codegurusecurity#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier for the code file uploaded to the resource where a finding was detected.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The identifier for a resource object that contains resources where a finding was detected.

" + } + }, + "com.amazonaws.codegurusecurity#ResourceNotFoundException": { + "type": "structure", + "members": { + "errorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the error.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Description of the error.

", + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the resource that was not found.

", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The type of resource that was not found.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The resource specified in the request was not found.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.codegurusecurity#S3Url": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.codegurusecurity#ScanName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 140 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-_$:.]*$" + } + }, + "com.amazonaws.codegurusecurity#ScanNameArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 300 + }, + "smithy.api#pattern": "^arn:aws:codeguru-security:[\\S]+:[\\d]{12}:scans\\/[a-zA-Z0-9-_$:.]*$" + } + }, + "com.amazonaws.codegurusecurity#ScanNameWithFindingNum": { + "type": "structure", + "members": { + "scanName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the scan.

" + } + }, + "findingNumber": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of open findings generated by a scan.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a scan with open findings.

" + } + }, + "com.amazonaws.codegurusecurity#ScanState": { + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InProgress" + } + }, + "SUCCESSFUL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Successful" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Failed" + } + } + } + }, + "com.amazonaws.codegurusecurity#ScanSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#ScanSummary" + } + }, + "com.amazonaws.codegurusecurity#ScanSummary": { + "type": "structure", + "members": { + "scanState": { + "target": "com.amazonaws.codegurusecurity#ScanState", + "traits": { + "smithy.api#documentation": "

The state of the scan. A scan can be In Progress, \n Complete, or Failed.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time when the scan was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time the scan was last updated. A scan is updated when it is re-run.

" + } + }, + "scanName": { + "target": "com.amazonaws.codegurusecurity#ScanName", + "traits": { + "smithy.api#documentation": "

The name of the scan.

", + "smithy.api#required": {} + } + }, + "runId": { + "target": "com.amazonaws.codegurusecurity#Uuid", + "traits": { + "smithy.api#documentation": "

The identifier for the scan run.

", + "smithy.api#required": {} + } + }, + "scanNameArn": { + "target": "com.amazonaws.codegurusecurity#ScanNameArn", + "traits": { + "smithy.api#documentation": "

The ARN for the scan name.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a scan.

" + } + }, + "com.amazonaws.codegurusecurity#ScanType": { + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Standard" + } + }, + "EXPRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Express" + } + } + } + }, + "com.amazonaws.codegurusecurity#ScansWithMostOpenCriticalFindings": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#ScanNameWithFindingNum" + }, + "traits": { + "smithy.api#length": { + "max": 3 + } + } + }, + "com.amazonaws.codegurusecurity#ScansWithMostOpenFindings": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#ScanNameWithFindingNum" + }, + "traits": { + "smithy.api#length": { + "max": 3 + } + } + }, + "com.amazonaws.codegurusecurity#Severity": { + "type": "enum", + "members": { + "CRITICAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Critical" + } + }, + "HIGH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "High" + } + }, + "MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Medium" + } + }, + "LOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Low" + } + }, + "INFO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Info" + } + } + } + }, + "com.amazonaws.codegurusecurity#Status": { + "type": "enum", + "members": { + "CLOSED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Closed" + } + }, + "OPEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Open" + } + }, + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "All" + } + } + } + }, + "com.amazonaws.codegurusecurity#SuggestedFix": { + "type": "structure", + "members": { + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A description of the suggested code fix and why it is being suggested.

" + } + }, + "code": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The suggested code to add to your file.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the suggested code fix to remediate a finding.

" + } + }, + "com.amazonaws.codegurusecurity#SuggestedFixes": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#SuggestedFix" + } + }, + "com.amazonaws.codegurusecurity#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.codegurusecurity#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.codegurusecurity#TagMap": { + "type": "map", + "key": { + "target": "com.amazonaws.codegurusecurity#TagKey" + }, + "value": { + "target": "com.amazonaws.codegurusecurity#TagValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.codegurusecurity#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#ConflictException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Use to add one or more tags to an existing scan.

", + "smithy.api#http": { + "method": "POST", + "uri": "/tags/{resourceArn}", + "code": 204 + } + } + }, + "com.amazonaws.codegurusecurity#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.codegurusecurity#ScanNameArn", + "traits": { + "smithy.api#documentation": "

The ARN of the ScanName object. You can retrieve this ARN by calling\n ListScans or GetScan.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.codegurusecurity#TagMap", + "traits": { + "smithy.api#documentation": "

An array of key-value pairs used to tag an existing scan. A tag is a custom attribute\n label with two parts:

\n ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.codegurusecurity#ThrottlingException": { + "type": "structure", + "members": { + "errorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the error.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Description of the error.

", + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the originating service.

" + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the originating quota.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request was denied due to request throttling.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": { + "throttling": true + } + } + }, + "com.amazonaws.codegurusecurity#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#ConflictException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Use to remove one or more tags from an existing scan.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/tags/{resourceArn}", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.codegurusecurity#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.codegurusecurity#ScanNameArn", + "traits": { + "smithy.api#documentation": "

The ARN of the ScanName object. You can retrieve this ARN by calling\n ListScans or GetScan.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.codegurusecurity#TagKeyList", + "traits": { + "smithy.api#documentation": "

A list of keys for each tag you want to remove from a scan.

", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#UpdateAccountConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.codegurusecurity#UpdateAccountConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.codegurusecurity#UpdateAccountConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.codegurusecurity#AccessDeniedException" + }, + { + "target": "com.amazonaws.codegurusecurity#InternalServerException" + }, + { + "target": "com.amazonaws.codegurusecurity#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.codegurusecurity#ThrottlingException" + }, + { + "target": "com.amazonaws.codegurusecurity#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Use to update account-level configuration with an encryption key.

", + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/updateAccountConfiguration" + } + } + }, + "com.amazonaws.codegurusecurity#UpdateAccountConfigurationRequest": { + "type": "structure", + "members": { + "encryptionConfig": { + "target": "com.amazonaws.codegurusecurity#EncryptionConfig", + "traits": { + "smithy.api#documentation": "

The KMS key ARN you want to use for encryption. Defaults to service-side encryption if missing.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codegurusecurity#UpdateAccountConfigurationResponse": { + "type": "structure", + "members": { + "encryptionConfig": { + "target": "com.amazonaws.codegurusecurity#EncryptionConfig", + "traits": { + "smithy.api#documentation": "

An EncryptionConfig object that contains the KMS key ARN to use for\n encryption.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.codegurusecurity#Uuid": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + } + }, + "com.amazonaws.codegurusecurity#ValidationException": { + "type": "structure", + "members": { + "errorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the error.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Description of the error.

", + "smithy.api#required": {} + } + }, + "reason": { + "target": "com.amazonaws.codegurusecurity#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

The reason the request failed validation.

", + "smithy.api#required": {} + } + }, + "fieldList": { + "target": "com.amazonaws.codegurusecurity#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

The field that caused the error, if applicable.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The input fails to satisfy the specified constraints.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.codegurusecurity#ValidationExceptionField": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the exception.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Describes the exception.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a validation exception.

" + } + }, + "com.amazonaws.codegurusecurity#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.codegurusecurity#ValidationExceptionField" + } + }, + "com.amazonaws.codegurusecurity#ValidationExceptionReason": { + "type": "enum", + "members": { + "UNKNOWN_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unknownOperation" + } + }, + "CANNOT_PARSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cannotParse" + } + }, + "FIELD_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fieldValidationFailed" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "other" + } + }, + "LAMBDA_CODE_SHA_MISMATCH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "lambdaCodeShaMisMatch" + } + } + } + }, + "com.amazonaws.codegurusecurity#Vulnerability": { + "type": "structure", + "members": { + "referenceUrls": { + "target": "com.amazonaws.codegurusecurity#ReferenceUrls", + "traits": { + "smithy.api#documentation": "

One or more URL addresses that contain details about a vulnerability.

" + } + }, + "relatedVulnerabilities": { + "target": "com.amazonaws.codegurusecurity#RelatedVulnerabilities", + "traits": { + "smithy.api#documentation": "

One or more vulnerabilities that are related to the vulnerability being described.

" + } + }, + "id": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier for the vulnerability.

" + } + }, + "filePath": { + "target": "com.amazonaws.codegurusecurity#FilePath", + "traits": { + "smithy.api#documentation": "

An object that describes the location of the detected security vulnerability in your\n code.

" + } + }, + "itemCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The number of times the vulnerability appears in your code.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a security vulnerability that Amazon CodeGuru Security detected.

" + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/drs.json b/codegen/sdk-codegen/aws-models/drs.json index af9380ee205..bab16cabee2 100644 --- a/codegen/sdk-codegen/aws-models/drs.json +++ b/codegen/sdk-codegen/aws-models/drs.json @@ -86,6 +86,94 @@ } } }, + "com.amazonaws.drs#AssociateSourceNetworkStack": { + "type": "operation", + "input": { + "target": "com.amazonaws.drs#AssociateSourceNetworkStackRequest" + }, + "output": { + "target": "com.amazonaws.drs#AssociateSourceNetworkStackResponse" + }, + "errors": [ + { + "target": "com.amazonaws.drs#ConflictException" + }, + { + "target": "com.amazonaws.drs#InternalServerException" + }, + { + "target": "com.amazonaws.drs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.drs#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.drs#ThrottlingException" + }, + { + "target": "com.amazonaws.drs#UninitializedAccountException" + }, + { + "target": "com.amazonaws.drs#ValidationException" + } + ], + "traits": { + "aws.iam#requiredActions": [ + "cloudformation:DescribeStacks", + "cloudformation:DescribeStackResource", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:DescribeLaunchTemplates", + "ec2:DescribeLaunchTemplateVersions", + "ec2:ModifyLaunchTemplate", + "ec2:CreateLaunchTemplateVersion", + "drs:GetLaunchConfiguration" + ], + "smithy.api#documentation": "

Associate a Source Network to an existing CloudFormation Stack and modify launch templates to use this network. Can be used for reverting to previously deployed CloudFormation stacks.

", + "smithy.api#http": { + "uri": "/AssociateSourceNetworkStack", + "method": "POST", + "code": 202 + } + } + }, + "com.amazonaws.drs#AssociateSourceNetworkStackRequest": { + "type": "structure", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

The Source Network ID to associate with CloudFormation template.

", + "smithy.api#required": {} + } + }, + "cfnStackName": { + "target": "com.amazonaws.drs#CfnStackName", + "traits": { + "smithy.api#documentation": "

CloudFormation template to associate with a Source Network.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.drs#AssociateSourceNetworkStackResponse": { + "type": "structure", + "members": { + "job": { + "target": "com.amazonaws.drs#Job", + "traits": { + "smithy.api#documentation": "

The Source Network association Job.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.drs#AwsAvailabilityZone": { "type": "string", "traits": { @@ -136,6 +224,17 @@ "smithy.api#documentation": "

Information about a server's CPU.

" } }, + "com.amazonaws.drs#CfnStackName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[a-zA-Z][-a-zA-Z0-9]*$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.drs#ConflictException": { "type": "structure", "members": { @@ -367,6 +466,12 @@ "traits": { "smithy.api#documentation": "

Licensing.

" } + }, + "exportBucketArn": { + "target": "com.amazonaws.drs#ARN", + "traits": { + "smithy.api#documentation": "

S3 bucket ARN to export Source Network templates.

" + } } } }, @@ -526,6 +631,99 @@ } } }, + "com.amazonaws.drs#CreateSourceNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.drs#CreateSourceNetworkRequest" + }, + "output": { + "target": "com.amazonaws.drs#CreateSourceNetworkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.drs#ConflictException" + }, + { + "target": "com.amazonaws.drs#InternalServerException" + }, + { + "target": "com.amazonaws.drs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.drs#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.drs#ThrottlingException" + }, + { + "target": "com.amazonaws.drs#UninitializedAccountException" + }, + { + "target": "com.amazonaws.drs#ValidationException" + } + ], + "traits": { + "aws.iam#requiredActions": [ + "ec2:DescribeVpcs", + "ec2:DescribeInstances" + ], + "smithy.api#documentation": "

Create a new Source Network resource for a provided VPC ID.

", + "smithy.api#http": { + "uri": "/CreateSourceNetwork", + "method": "POST", + "code": 201 + } + } + }, + "com.amazonaws.drs#CreateSourceNetworkRequest": { + "type": "structure", + "members": { + "vpcID": { + "target": "com.amazonaws.drs#VpcID", + "traits": { + "smithy.api#documentation": "

Which VPC ID to protect.

", + "smithy.api#required": {} + } + }, + "originAccountID": { + "target": "com.amazonaws.drs#AccountID", + "traits": { + "smithy.api#documentation": "

Account containing the VPC to protect.

", + "smithy.api#required": {} + } + }, + "originRegion": { + "target": "com.amazonaws.drs#AwsRegion", + "traits": { + "smithy.api#documentation": "

Region containing the VPC to protect.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.drs#TagsMap", + "traits": { + "smithy.api#documentation": "

A set of tags to be associated with the Source Network resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.drs#CreateSourceNetworkResponse": { + "type": "structure", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

ID of the created Source Network.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.drs#DataReplicationError": { "type": "structure", "members": { @@ -1089,6 +1287,63 @@ "type": "structure", "members": {} }, + "com.amazonaws.drs#DeleteSourceNetwork": { + "type": "operation", + "input": { + "target": "com.amazonaws.drs#DeleteSourceNetworkRequest" + }, + "output": { + "target": "com.amazonaws.drs#DeleteSourceNetworkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.drs#ConflictException" + }, + { + "target": "com.amazonaws.drs#InternalServerException" + }, + { + "target": "com.amazonaws.drs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.drs#ThrottlingException" + }, + { + "target": "com.amazonaws.drs#UninitializedAccountException" + } + ], + "traits": { + "smithy.api#documentation": "

Delete Source Network resource.

", + "smithy.api#http": { + "uri": "/DeleteSourceNetwork", + "method": "POST", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.drs#DeleteSourceNetworkRequest": { + "type": "structure", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

ID of the Source Network to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.drs#DeleteSourceNetworkResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.drs#DeleteSourceServer": { "type": "operation", "input": { @@ -1725,13 +1980,13 @@ } } }, - "com.amazonaws.drs#DescribeSourceServers": { + "com.amazonaws.drs#DescribeSourceNetworks": { "type": "operation", "input": { - "target": "com.amazonaws.drs#DescribeSourceServersRequest" + "target": "com.amazonaws.drs#DescribeSourceNetworksRequest" }, "output": { - "target": "com.amazonaws.drs#DescribeSourceServersResponse" + "target": "com.amazonaws.drs#DescribeSourceNetworksResponse" }, "errors": [ { @@ -1748,9 +2003,9 @@ } ], "traits": { - "smithy.api#documentation": "

Lists all Source Servers or multiple Source Servers filtered by ID.

", + "smithy.api#documentation": "

Lists all Source Networks or multiple Source Networks filtered by ID.

", "smithy.api#http": { - "uri": "/DescribeSourceServers", + "uri": "/DescribeSourceNetworks", "method": "POST", "code": 200 }, @@ -1763,117 +2018,240 @@ "smithy.api#readonly": {} } }, - "com.amazonaws.drs#DescribeSourceServersRequest": { + "com.amazonaws.drs#DescribeSourceNetworksRequest": { "type": "structure", "members": { "filters": { - "target": "com.amazonaws.drs#DescribeSourceServersRequestFilters", + "target": "com.amazonaws.drs#DescribeSourceNetworksRequestFilters", "traits": { - "smithy.api#documentation": "

A set of filters by which to return Source Servers.

" + "smithy.api#documentation": "

A set of filters by which to return Source Networks.

" } }, "maxResults": { "target": "com.amazonaws.drs#StrictlyPositiveInteger", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

Maximum number of Source Servers to retrieve.

" + "smithy.api#documentation": "

Maximum number of Source Networks to retrieve.

" } }, "nextToken": { "target": "com.amazonaws.drs#PaginationToken", "traits": { - "smithy.api#documentation": "

The token of the next Source Server to retrieve.

" + "smithy.api#documentation": "

The token of the next Source Networks to retrieve.

" } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.drs#DescribeSourceServersRequestFilters": { + "com.amazonaws.drs#DescribeSourceNetworksRequestFilters": { "type": "structure", "members": { - "sourceServerIDs": { - "target": "com.amazonaws.drs#DescribeSourceServersRequestFiltersIDs", + "sourceNetworkIDs": { + "target": "com.amazonaws.drs#DescribeSourceNetworksRequestFiltersIDs", "traits": { - "smithy.api#documentation": "

An array of Source Servers IDs that should be returned. An empty array means all Source Servers.

" + "smithy.api#documentation": "

An array of Source Network IDs that should be returned. An empty array means all Source Networks.

" } }, - "hardwareId": { - "target": "com.amazonaws.drs#BoundedString", + "originAccountID": { + "target": "com.amazonaws.drs#AccountID", "traits": { - "smithy.api#documentation": "

An ID that describes the hardware of the Source Server. This is either an EC2 instance id, a VMware uuid or a mac address.

" + "smithy.api#documentation": "

Filter Source Networks by account ID containing the protected VPCs.

" } }, - "stagingAccountIDs": { - "target": "com.amazonaws.drs#AccountIDs", + "originRegion": { + "target": "com.amazonaws.drs#AwsRegion", "traits": { - "smithy.api#documentation": "

An array of staging account IDs that extended source servers belong to. An empty array means all source servers will be shown.

" + "smithy.api#documentation": "

Filter Source Networks by the region containing the protected VPCs.

" } } }, "traits": { - "smithy.api#documentation": "

A set of filters by which to return Source Servers.

" + "smithy.api#documentation": "

A set of filters by which to return Source Networks.

" } }, - "com.amazonaws.drs#DescribeSourceServersRequestFiltersIDs": { + "com.amazonaws.drs#DescribeSourceNetworksRequestFiltersIDs": { "type": "list", "member": { - "target": "com.amazonaws.drs#SourceServerID" + "target": "com.amazonaws.drs#SourceNetworkID" }, "traits": { "smithy.api#length": { "min": 0, - "max": 200 + "max": 100 } } }, - "com.amazonaws.drs#DescribeSourceServersResponse": { + "com.amazonaws.drs#DescribeSourceNetworksResponse": { "type": "structure", "members": { "items": { - "target": "com.amazonaws.drs#SourceServersList", + "target": "com.amazonaws.drs#SourceNetworksList", "traits": { - "smithy.api#documentation": "

An array of Source Servers.

" + "smithy.api#documentation": "

An array of Source Networks.

" } }, "nextToken": { "target": "com.amazonaws.drs#PaginationToken", "traits": { - "smithy.api#documentation": "

The token of the next Source Server to retrieve.

" + "smithy.api#documentation": "

The token of the next Source Networks to retrieve.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.drs#DisconnectRecoveryInstance": { + "com.amazonaws.drs#DescribeSourceServers": { "type": "operation", "input": { - "target": "com.amazonaws.drs#DisconnectRecoveryInstanceRequest" + "target": "com.amazonaws.drs#DescribeSourceServersRequest" }, "output": { - "target": "smithy.api#Unit" + "target": "com.amazonaws.drs#DescribeSourceServersResponse" }, "errors": [ - { - "target": "com.amazonaws.drs#AccessDeniedException" - }, - { - "target": "com.amazonaws.drs#ConflictException" - }, { "target": "com.amazonaws.drs#InternalServerException" }, - { - "target": "com.amazonaws.drs#ResourceNotFoundException" - }, { "target": "com.amazonaws.drs#ThrottlingException" }, { "target": "com.amazonaws.drs#UninitializedAccountException" + }, + { + "target": "com.amazonaws.drs#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Disconnect a Recovery Instance from Elastic Disaster Recovery. Data replication is stopped immediately. All AWS resources created by Elastic Disaster Recovery for enabling the replication of the Recovery Instance will be terminated / deleted within 90 minutes. If the agent on the Recovery Instance has not been prevented from communicating with the Elastic Disaster Recovery service, then it will receive a command to uninstall itself (within approximately 10 minutes). The following properties of the Recovery Instance will be changed immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be nullified.

", + "smithy.api#documentation": "

Lists all Source Servers or multiple Source Servers filtered by ID.

", "smithy.api#http": { - "uri": "/DisconnectRecoveryInstance", + "uri": "/DescribeSourceServers", + "method": "POST", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.drs#DescribeSourceServersRequest": { + "type": "structure", + "members": { + "filters": { + "target": "com.amazonaws.drs#DescribeSourceServersRequestFilters", + "traits": { + "smithy.api#documentation": "

A set of filters by which to return Source Servers.

" + } + }, + "maxResults": { + "target": "com.amazonaws.drs#StrictlyPositiveInteger", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

Maximum number of Source Servers to retrieve.

" + } + }, + "nextToken": { + "target": "com.amazonaws.drs#PaginationToken", + "traits": { + "smithy.api#documentation": "

The token of the next Source Server to retrieve.

" + } + } + } + }, + "com.amazonaws.drs#DescribeSourceServersRequestFilters": { + "type": "structure", + "members": { + "sourceServerIDs": { + "target": "com.amazonaws.drs#DescribeSourceServersRequestFiltersIDs", + "traits": { + "smithy.api#documentation": "

An array of Source Servers IDs that should be returned. An empty array means all Source Servers.

" + } + }, + "hardwareId": { + "target": "com.amazonaws.drs#BoundedString", + "traits": { + "smithy.api#documentation": "

An ID that describes the hardware of the Source Server. This is either an EC2 instance id, a VMware uuid or a mac address.

" + } + }, + "stagingAccountIDs": { + "target": "com.amazonaws.drs#AccountIDs", + "traits": { + "smithy.api#documentation": "

An array of staging account IDs that extended source servers belong to. An empty array means all source servers will be shown.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A set of filters by which to return Source Servers.

" + } + }, + "com.amazonaws.drs#DescribeSourceServersRequestFiltersIDs": { + "type": "list", + "member": { + "target": "com.amazonaws.drs#SourceServerID" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "com.amazonaws.drs#DescribeSourceServersResponse": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.drs#SourceServersList", + "traits": { + "smithy.api#documentation": "

An array of Source Servers.

" + } + }, + "nextToken": { + "target": "com.amazonaws.drs#PaginationToken", + "traits": { + "smithy.api#documentation": "

The token of the next Source Server to retrieve.

" + } + } + } + }, + "com.amazonaws.drs#DisconnectRecoveryInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.drs#DisconnectRecoveryInstanceRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.drs#AccessDeniedException" + }, + { + "target": "com.amazonaws.drs#ConflictException" + }, + { + "target": "com.amazonaws.drs#InternalServerException" + }, + { + "target": "com.amazonaws.drs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.drs#ThrottlingException" + }, + { + "target": "com.amazonaws.drs#UninitializedAccountException" + } + ], + "traits": { + "smithy.api#documentation": "

Disconnect a Recovery Instance from Elastic Disaster Recovery. Data replication is stopped immediately. All AWS resources created by Elastic Disaster Recovery for enabling the replication of the Recovery Instance will be terminated / deleted within 90 minutes. If the agent on the Recovery Instance has not been prevented from communicating with the Elastic Disaster Recovery service, then it will receive a command to uninstall itself (within approximately 10 minutes). The following properties of the Recovery Instance will be changed immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be nullified.

", + "smithy.api#http": { + "uri": "/DisconnectRecoveryInstance", "method": "POST", "code": 200 } @@ -2088,6 +2466,9 @@ { "target": "com.amazonaws.drs#ReplicationConfigurationTemplateResource" }, + { + "target": "com.amazonaws.drs#SourceNetworkResource" + }, { "target": "com.amazonaws.drs#SourceServerResource" } @@ -3051,6 +3432,91 @@ } } }, + "com.amazonaws.drs#EventResourceData": { + "type": "union", + "members": { + "sourceNetworkData": { + "target": "com.amazonaws.drs#SourceNetworkData", + "traits": { + "smithy.api#documentation": "

Source Network properties.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Properties of resource related to a job event.

" + } + }, + "com.amazonaws.drs#ExportSourceNetworkCfnTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.drs#ExportSourceNetworkCfnTemplateRequest" + }, + "output": { + "target": "com.amazonaws.drs#ExportSourceNetworkCfnTemplateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.drs#ConflictException" + }, + { + "target": "com.amazonaws.drs#InternalServerException" + }, + { + "target": "com.amazonaws.drs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.drs#ThrottlingException" + }, + { + "target": "com.amazonaws.drs#UninitializedAccountException" + }, + { + "target": "com.amazonaws.drs#ValidationException" + } + ], + "traits": { + "aws.iam#requiredActions": [ + "s3:GetBucketLocation", + "s3:PutObject", + "s3:GetObject" + ], + "smithy.api#documentation": "

Export the Source Network CloudFormation template to an S3 bucket.

", + "smithy.api#http": { + "uri": "/ExportSourceNetworkCfnTemplate", + "method": "POST", + "code": 200 + } + } + }, + "com.amazonaws.drs#ExportSourceNetworkCfnTemplateRequest": { + "type": "structure", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

The Source Network ID to export its CloudFormation template to an S3 bucket.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.drs#ExportSourceNetworkCfnTemplateResponse": { + "type": "structure", + "members": { + "s3DestinationUrl": { + "target": "com.amazonaws.drs#LargeBoundedString", + "traits": { + "smithy.api#documentation": "

S3 bucket URL where the Source Network CloudFormation template was exported to.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.drs#ExtensionStatus": { "type": "string", "traits": { @@ -3506,6 +3972,18 @@ { "value": "TARGET_ACCOUNT", "name": "TARGET_ACCOUNT" + }, + { + "value": "CREATE_NETWORK_RECOVERY", + "name": "CREATE_NETWORK_RECOVERY" + }, + { + "value": "UPDATE_NETWORK_RECOVERY", + "name": "UPDATE_NETWORK_RECOVERY" + }, + { + "value": "ASSOCIATE_NETWORK_RECOVERY", + "name": "ASSOCIATE_NETWORK_RECOVERY" } ] } @@ -3591,6 +4069,12 @@ "traits": { "smithy.api#documentation": "

A list of tags associated with the Job.

" } + }, + "participatingResources": { + "target": "com.amazonaws.drs#ParticipatingResources", + "traits": { + "smithy.api#documentation": "

A list of resources that the Job is acting upon.

" + } } }, "traits": { @@ -3704,6 +4188,46 @@ { "name": "JOB_END", "value": "JOB_END" + }, + { + "name": "DEPLOY_NETWORK_CONFIGURATION_START", + "value": "DEPLOY_NETWORK_CONFIGURATION_START" + }, + { + "name": "DEPLOY_NETWORK_CONFIGURATION_END", + "value": "DEPLOY_NETWORK_CONFIGURATION_END" + }, + { + "name": "DEPLOY_NETWORK_CONFIGURATION_FAILED", + "value": "DEPLOY_NETWORK_CONFIGURATION_FAILED" + }, + { + "name": "UPDATE_NETWORK_CONFIGURATION_START", + "value": "UPDATE_NETWORK_CONFIGURATION_START" + }, + { + "name": "UPDATE_NETWORK_CONFIGURATION_END", + "value": "UPDATE_NETWORK_CONFIGURATION_END" + }, + { + "name": "UPDATE_NETWORK_CONFIGURATION_FAILED", + "value": "UPDATE_NETWORK_CONFIGURATION_FAILED" + }, + { + "name": "UPDATE_LAUNCH_TEMPLATE_START", + "value": "UPDATE_LAUNCH_TEMPLATE_START" + }, + { + "name": "UPDATE_LAUNCH_TEMPLATE_END", + "value": "UPDATE_LAUNCH_TEMPLATE_END" + }, + { + "name": "UPDATE_LAUNCH_TEMPLATE_FAILED", + "value": "UPDATE_LAUNCH_TEMPLATE_FAILED" + }, + { + "name": "NETWORK_RECOVERY_FAIL", + "value": "NETWORK_RECOVERY_FAIL" } ] } @@ -3740,6 +4264,12 @@ "traits": { "smithy.api#documentation": "

Properties of a conversion job

" } + }, + "eventResourceData": { + "target": "com.amazonaws.drs#EventResourceData", + "traits": { + "smithy.api#documentation": "

Properties of resource related to a job event.

" + } } }, "traits": { @@ -3974,6 +4504,12 @@ "traits": { "smithy.api#documentation": "

Licensing.

" } + }, + "exportBucketArn": { + "target": "com.amazonaws.drs#ARN", + "traits": { + "smithy.api#documentation": "

S3 bucket ARN to export Source Network templates.

" + } } }, "traits": { @@ -4572,6 +5108,46 @@ } } }, + "com.amazonaws.drs#ParticipatingResource": { + "type": "structure", + "members": { + "participatingResourceID": { + "target": "com.amazonaws.drs#ParticipatingResourceID", + "traits": { + "smithy.api#documentation": "

The ID of a participating resource.

" + } + }, + "launchStatus": { + "target": "com.amazonaws.drs#LaunchStatus", + "traits": { + "smithy.api#documentation": "

The launch status of a participating resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a resource participating in an asynchronous Job.

" + } + }, + "com.amazonaws.drs#ParticipatingResourceID": { + "type": "union", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

Source Network ID.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

ID of a resource participating in an asynchronous Job.

" + } + }, + "com.amazonaws.drs#ParticipatingResources": { + "type": "list", + "member": { + "target": "com.amazonaws.drs#ParticipatingResource" + } + }, "com.amazonaws.drs#ParticipatingServer": { "type": "structure", "members": { @@ -5277,17 +5853,79 @@ } } }, - "com.amazonaws.drs#RecoverySnapshot": { + "com.amazonaws.drs#RecoveryLifeCycle": { "type": "structure", "members": { - "snapshotID": { - "target": "com.amazonaws.drs#RecoverySnapshotID", + "apiCallDateTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The ID of the Recovery Snapshot.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The date and time the last Source Network recovery was initiated.

", + "smithy.api#timestampFormat": "date-time" } }, - "sourceServerID": { + "jobID": { + "target": "com.amazonaws.drs#JobID", + "traits": { + "smithy.api#documentation": "

The ID of the Job that was used to last recover the Source Network.

" + } + }, + "lastRecoveryResult": { + "target": "com.amazonaws.drs#RecoveryResult", + "traits": { + "smithy.api#documentation": "

The status of the last recovery status of this Source Network.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An object representing the Source Network recovery Lifecycle.

" + } + }, + "com.amazonaws.drs#RecoveryResult": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "NOT_STARTED", + "name": "NOT_STARTED" + }, + { + "value": "IN_PROGRESS", + "name": "IN_PROGRESS" + }, + { + "value": "SUCCESS", + "name": "SUCCESS" + }, + { + "value": "FAIL", + "name": "FAIL" + }, + { + "value": "PARTIAL_SUCCESS", + "name": "PARTIAL_SUCCESS" + }, + { + "value": "ASSOCIATE_SUCCESS", + "name": "ASSOCIATE_SUCCESS" + }, + { + "value": "ASSOCIATE_FAIL", + "name": "ASSOCIATE_FAIL" + } + ] + } + }, + "com.amazonaws.drs#RecoverySnapshot": { + "type": "structure", + "members": { + "snapshotID": { + "target": "com.amazonaws.drs#RecoverySnapshotID", + "traits": { + "smithy.api#documentation": "

The ID of the Recovery Snapshot.

", + "smithy.api#required": {} + } + }, + "sourceServerID": { "target": "com.amazonaws.drs#SourceServerID", "traits": { "smithy.api#documentation": "

The ID of the Source Server that the snapshot was taken for.

", @@ -5506,6 +6144,10 @@ { "value": "CUSTOM", "name": "CUSTOM" + }, + { + "value": "NONE", + "name": "NONE" } ] } @@ -5797,6 +6439,29 @@ } } }, + "com.amazonaws.drs#ReplicationStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "STOPPED", + "name": "STOPPED" + }, + { + "value": "IN_PROGRESS", + "name": "IN_PROGRESS" + }, + { + "value": "PROTECTED", + "name": "PROTECTED" + }, + { + "value": "ERROR", + "name": "ERROR" + } + ] + } + }, "com.amazonaws.drs#ResourceNotFoundException": { "type": "structure", "members": { @@ -5957,6 +6622,16 @@ "smithy.api#pattern": "^sg-[0-9a-fA-F]{8,}$" } }, + "com.amazonaws.drs#SensitiveBoundedString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.drs#ServiceQuotaExceededException": { "type": "structure", "members": { @@ -6032,6 +6707,178 @@ "smithy.api#documentation": "

Properties of the cloud environment where this Source Server originated from.

" } }, + "com.amazonaws.drs#SourceNetwork": { + "type": "structure", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

Source Network ID.

" + } + }, + "sourceVpcID": { + "target": "com.amazonaws.drs#VpcID", + "traits": { + "smithy.api#documentation": "

VPC ID protected by the Source Network.

" + } + }, + "arn": { + "target": "com.amazonaws.drs#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the Source Network.

" + } + }, + "tags": { + "target": "com.amazonaws.drs#TagsMap", + "traits": { + "smithy.api#documentation": "

A list of tags associated with the Source Network.

" + } + }, + "replicationStatus": { + "target": "com.amazonaws.drs#ReplicationStatus", + "traits": { + "smithy.api#documentation": "

Status of Source Network Replication. Possible values:\n (a) STOPPED - Source Network is not replicating.\n (b) IN_PROGRESS - Source Network is being replicated.\n (c) PROTECTED - Source Network was replicated successfully and is being synchronized for changes.\n (d) ERROR - Source Network replication has failed

" + } + }, + "replicationStatusDetails": { + "target": "com.amazonaws.drs#SensitiveBoundedString", + "traits": { + "smithy.api#documentation": "

Error details in case Source Network replication status is ERROR.

" + } + }, + "cfnStackName": { + "target": "com.amazonaws.drs#CfnStackName", + "traits": { + "smithy.api#documentation": "

CloudFormation stack name that was deployed for recovering the Source Network.

" + } + }, + "sourceRegion": { + "target": "com.amazonaws.drs#AwsRegion", + "traits": { + "smithy.api#documentation": "

Region containing the VPC protected by the Source Network.

" + } + }, + "sourceAccountID": { + "target": "com.amazonaws.drs#AccountID", + "traits": { + "smithy.api#documentation": "

Account ID containing the VPC protected by the Source Network.

" + } + }, + "lastRecovery": { + "target": "com.amazonaws.drs#RecoveryLifeCycle", + "traits": { + "smithy.api#documentation": "

An object containing information regarding the last recovery of the Source Network.

" + } + }, + "launchedVpcID": { + "target": "com.amazonaws.drs#VpcID", + "traits": { + "smithy.api#documentation": "

ID of the recovered VPC following Source Network recovery.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The ARN of the Source Network.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.drs#SourceNetworkResource" + } + ] + } + }, + "com.amazonaws.drs#SourceNetworkData": { + "type": "structure", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

Source Network ID.

" + } + }, + "sourceVpc": { + "target": "com.amazonaws.drs#VpcID", + "traits": { + "smithy.api#documentation": "

VPC ID protected by the Source Network.

" + } + }, + "targetVpc": { + "target": "com.amazonaws.drs#VpcID", + "traits": { + "smithy.api#documentation": "

ID of the recovered VPC following Source Network recovery.

" + } + }, + "stackName": { + "target": "com.amazonaws.drs#LargeBoundedString", + "traits": { + "smithy.api#documentation": "

CloudFormation stack name that was deployed for recovering the Source Network.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Properties of Source Network related to a job event.

" + } + }, + "com.amazonaws.drs#SourceNetworkID": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 20 + }, + "smithy.api#pattern": "^sn-[0-9a-zA-Z]{17}$" + } + }, + "com.amazonaws.drs#SourceNetworkResource": { + "type": "resource", + "identifiers": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID" + } + }, + "create": { + "target": "com.amazonaws.drs#CreateSourceNetwork" + }, + "delete": { + "target": "com.amazonaws.drs#DeleteSourceNetwork" + }, + "list": { + "target": "com.amazonaws.drs#DescribeSourceNetworks" + }, + "operations": [ + { + "target": "com.amazonaws.drs#AssociateSourceNetworkStack" + }, + { + "target": "com.amazonaws.drs#ExportSourceNetworkCfnTemplate" + }, + { + "target": "com.amazonaws.drs#StartSourceNetworkReplication" + }, + { + "target": "com.amazonaws.drs#StopSourceNetworkReplication" + } + ], + "collectionOperations": [ + { + "target": "com.amazonaws.drs#StartSourceNetworkRecovery" + } + ], + "traits": { + "aws.api#arn": { + "template": "source-network/{sourceNetworkID}" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag" + ], + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.drs#SourceNetworksList": { + "type": "list", + "member": { + "target": "com.amazonaws.drs#SourceNetwork" + } + }, "com.amazonaws.drs#SourceProperties": { "type": "structure", "members": { @@ -6169,6 +7016,12 @@ "traits": { "smithy.api#documentation": "

For EC2-originated Source Servers which have been failed over and then failed back, this value will mean the ARN of the Source Server on the opposite replication direction.

" } + }, + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

ID of the Source Network which is protecting this Source Server's network.

" + } } }, "traits": { @@ -6606,6 +7459,201 @@ } } }, + "com.amazonaws.drs#StartSourceNetworkRecovery": { + "type": "operation", + "input": { + "target": "com.amazonaws.drs#StartSourceNetworkRecoveryRequest" + }, + "output": { + "target": "com.amazonaws.drs#StartSourceNetworkRecoveryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.drs#ConflictException" + }, + { + "target": "com.amazonaws.drs#InternalServerException" + }, + { + "target": "com.amazonaws.drs#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.drs#ThrottlingException" + }, + { + "target": "com.amazonaws.drs#UninitializedAccountException" + }, + { + "target": "com.amazonaws.drs#ValidationException" + } + ], + "traits": { + "aws.iam#requiredActions": [ + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:DescribeLaunchTemplates", + "ec2:DescribeLaunchTemplateVersions", + "ec2:ModifyLaunchTemplate", + "ec2:CreateLaunchTemplateVersion", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:DescribeLaunchTemplates", + "ec2:DescribeLaunchTemplateVersions", + "cloudformation:DescribeStacks", + "cloudformation:UpdateStack", + "cloudformation:CreateStack", + "cloudformation:DescribeStackResource", + "cloudformation:DescribeStacks", + "drs:GetLaunchConfiguration", + "s3:PutObject", + "s3:GetObject" + ], + "smithy.api#documentation": "

Deploy VPC for the specified Source Network and modify launch templates to use this network. The VPC will be deployed using a dedicated CloudFormation stack.

", + "smithy.api#http": { + "uri": "/StartSourceNetworkRecovery", + "method": "POST", + "code": 202 + } + } + }, + "com.amazonaws.drs#StartSourceNetworkRecoveryRequest": { + "type": "structure", + "members": { + "sourceNetworks": { + "target": "com.amazonaws.drs#StartSourceNetworkRecoveryRequestNetworkEntries", + "traits": { + "smithy.api#documentation": "

The Source Networks that we want to start a Recovery Job for.

", + "smithy.api#required": {} + } + }, + "deployAsNew": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Don't update existing CloudFormation Stack, recover the network using a new stack.

" + } + }, + "tags": { + "target": "com.amazonaws.drs#TagsMap", + "traits": { + "smithy.api#documentation": "

The tags to be associated with the Source Network recovery Job.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.drs#StartSourceNetworkRecoveryRequestNetworkEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.drs#StartSourceNetworkRecoveryRequestNetworkEntry" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.drs#StartSourceNetworkRecoveryRequestNetworkEntry": { + "type": "structure", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

The ID of the Source Network you want to recover.

", + "smithy.api#required": {} + } + }, + "cfnStackName": { + "target": "com.amazonaws.drs#CfnStackName", + "traits": { + "smithy.api#documentation": "

CloudFormation stack name to be used for recovering the network.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

An object representing the Source Network to recover.

" + } + }, + "com.amazonaws.drs#StartSourceNetworkRecoveryResponse": { + "type": "structure", + "members": { + "job": { + "target": "com.amazonaws.drs#Job", + "traits": { + "smithy.api#documentation": "

The Source Network recovery Job.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.drs#StartSourceNetworkReplication": { + "type": "operation", + "input": { + "target": "com.amazonaws.drs#StartSourceNetworkReplicationRequest" + }, + "output": { + "target": "com.amazonaws.drs#StartSourceNetworkReplicationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.drs#ConflictException" + }, + { + "target": "com.amazonaws.drs#InternalServerException" + }, + { + "target": "com.amazonaws.drs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.drs#ThrottlingException" + }, + { + "target": "com.amazonaws.drs#UninitializedAccountException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts replication for a Source Network. This action would make the Source Network protected.

", + "smithy.api#http": { + "uri": "/StartSourceNetworkReplication", + "method": "POST", + "code": 200 + } + } + }, + "com.amazonaws.drs#StartSourceNetworkReplicationRequest": { + "type": "structure", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

ID of the Source Network to replicate.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.drs#StartSourceNetworkReplicationResponse": { + "type": "structure", + "members": { + "sourceNetwork": { + "target": "com.amazonaws.drs#SourceNetwork", + "traits": { + "smithy.api#documentation": "

Source Network which was requested for replication.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.drs#StopFailback": { "type": "operation", "input": { @@ -6706,6 +7754,72 @@ } } }, + "com.amazonaws.drs#StopSourceNetworkReplication": { + "type": "operation", + "input": { + "target": "com.amazonaws.drs#StopSourceNetworkReplicationRequest" + }, + "output": { + "target": "com.amazonaws.drs#StopSourceNetworkReplicationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.drs#ConflictException" + }, + { + "target": "com.amazonaws.drs#InternalServerException" + }, + { + "target": "com.amazonaws.drs#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.drs#ThrottlingException" + }, + { + "target": "com.amazonaws.drs#UninitializedAccountException" + }, + { + "target": "com.amazonaws.drs#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Stops replication for a Source Network. This action would make the Source Network unprotected.

", + "smithy.api#http": { + "uri": "/StopSourceNetworkReplication", + "method": "POST", + "code": 200 + } + } + }, + "com.amazonaws.drs#StopSourceNetworkReplicationRequest": { + "type": "structure", + "members": { + "sourceNetworkID": { + "target": "com.amazonaws.drs#SourceNetworkID", + "traits": { + "smithy.api#documentation": "

ID of the Source Network to stop replication.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.drs#StopSourceNetworkReplicationResponse": { + "type": "structure", + "members": { + "sourceNetwork": { + "target": "com.amazonaws.drs#SourceNetwork", + "traits": { + "smithy.api#documentation": "

Source Network which was requested to stop replication.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.drs#StrictlyPositiveInteger": { "type": "integer", "traits": { @@ -7230,6 +8344,12 @@ "traits": { "smithy.api#documentation": "

Licensing.

" } + }, + "exportBucketArn": { + "target": "com.amazonaws.drs#ARN", + "traits": { + "smithy.api#documentation": "

S3 bucket ARN to export Source Network templates.

" + } } } }, @@ -7628,6 +8748,16 @@ "value": { "target": "com.amazonaws.drs#PositiveInteger" } + }, + "com.amazonaws.drs#VpcID": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 21 + }, + "smithy.api#pattern": "^vpc-[0-9a-fA-F]{8,}$" + } } } } \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index c6f2ef60bc2..4d35d56d54a 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -1176,7 +1176,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "AllocationId", - "smithy.api#documentation": "

The ID representing the allocation of the address for use with EC2-VPC.

", + "smithy.api#documentation": "

The ID representing the allocation of the address.

", "smithy.api#xmlName": "allocationId" } }, @@ -1184,7 +1184,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

The ID representing the association of the address with an instance in a VPC.

", + "smithy.api#documentation": "

The ID representing the association of the address with an instance.

", "smithy.api#xmlName": "associationId" } }, @@ -1192,7 +1192,7 @@ "target": "com.amazonaws.ec2#DomainType", "traits": { "aws.protocols#ec2QueryName": "Domain", - "smithy.api#documentation": "

Indicates whether this Elastic IP address is for use with instances\n\t\t\t\tin EC2-Classic (standard) or instances in a VPC (vpc).

", + "smithy.api#documentation": "

The network (vpc).

", "smithy.api#xmlName": "domain" } }, @@ -1535,7 +1535,7 @@ "target": "com.amazonaws.ec2#AllocateAddressResult" }, "traits": { - "smithy.api#documentation": "

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate \n it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address \n pool and can be allocated to a different Amazon Web Services account.

\n

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created \n from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own \n IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

\n

[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an \n Elastic IP address that you released after it is allocated to another Amazon Web Services account. You cannot recover an Elastic IP\n address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.

\n

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate\n 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.

\n

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate \n it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address \n pool and can be allocated to a different Amazon Web Services account.

\n

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created \n from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own \n IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

\n

If you release an Elastic IP address, you might be able to recover it. You cannot recover\n an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify\n it in this operation.

\n

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, \n to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

" } }, "com.amazonaws.ec2#AllocateAddressRequest": { @@ -1544,13 +1544,13 @@ "Domain": { "target": "com.amazonaws.ec2#DomainType", "traits": { - "smithy.api#documentation": "

Indicates whether the Elastic IP address is for use with instances in a VPC or instances in EC2-Classic.

\n

Default: If the Region supports EC2-Classic, the default is standard. Otherwise, the default\n is vpc.

" + "smithy.api#documentation": "

The network (vpc).

" } }, "Address": { "target": "com.amazonaws.ec2#PublicIpAddress", "traits": { - "smithy.api#documentation": "

[EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address pool.

" + "smithy.api#documentation": "

The Elastic IP address to recover or an IPv4 address from an address pool.

" } }, "PublicIpv4Pool": { @@ -1608,7 +1608,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "AllocationId", - "smithy.api#documentation": "

[EC2-VPC] The ID that Amazon Web Services assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", + "smithy.api#documentation": "

The ID that represents the allocation of the Elastic IP address.

", "smithy.api#xmlName": "allocationId" } }, @@ -1632,7 +1632,7 @@ "target": "com.amazonaws.ec2#DomainType", "traits": { "aws.protocols#ec2QueryName": "Domain", - "smithy.api#documentation": "

Indicates whether the Elastic IP address is for use with instances in a VPC (vpc) or\n\t\t\t\tinstances in EC2-Classic (standard).

", + "smithy.api#documentation": "

The network (vpc).

", "smithy.api#xmlName": "domain" } }, @@ -1656,7 +1656,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "CarrierIp", - "smithy.api#documentation": "

The carrier IP address. This option is only available for network interfaces which reside\n in a subnet in a Wavelength Zone (for example an EC2 instance).

", + "smithy.api#documentation": "

The carrier IP address. This option is only available for network interfaces that reside\n in a subnet in a Wavelength Zone.

", "smithy.api#xmlName": "carrierIp" } } @@ -1787,7 +1787,7 @@ "target": "com.amazonaws.ec2#AllocateIpamPoolCidrResult" }, "traits": { - "smithy.api#documentation": "

Allocate a CIDR from an IPAM pool. In IPAM, an allocation is a CIDR assignment from an IPAM pool to another IPAM pool or to a resource. For more information, see Allocate CIDRs in the Amazon VPC IPAM User Guide.

\n \n

This action creates an allocation with strong consistency. The returned CIDR will not overlap with any other allocations from the same pool.

\n
" + "smithy.api#documentation": "

Allocate a CIDR from an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

\n

In IPAM, an allocation is a CIDR assignment from an IPAM pool to another IPAM pool or to a resource. For more information, see Allocate CIDRs in the Amazon VPC IPAM User Guide.

\n \n

This action creates an allocation with strong consistency. The returned CIDR will not overlap with any other allocations from the same pool.

\n
" } }, "com.amazonaws.ec2#AllocateIpamPoolCidrRequest": { @@ -2326,6 +2326,9 @@ { "target": "com.amazonaws.ec2#CreateImage" }, + { + "target": "com.amazonaws.ec2#CreateInstanceConnectEndpoint" + }, { "target": "com.amazonaws.ec2#CreateInstanceEventWindow" }, @@ -2554,6 +2557,9 @@ { "target": "com.amazonaws.ec2#DeleteFpgaImage" }, + { + "target": "com.amazonaws.ec2#DeleteInstanceConnectEndpoint" + }, { "target": "com.amazonaws.ec2#DeleteInstanceEventWindow" }, @@ -2896,6 +2902,9 @@ { "target": "com.amazonaws.ec2#DescribeInstanceAttribute" }, + { + "target": "com.amazonaws.ec2#DescribeInstanceConnectEndpoints" + }, { "target": "com.amazonaws.ec2#DescribeInstanceCreditSpecifications" }, @@ -5961,7 +5970,7 @@ "target": "com.amazonaws.ec2#AssociateAddressResult" }, "traits": { - "smithy.api#documentation": "

Associates an Elastic IP address, or carrier IP address (for instances that are in\n subnets in Wavelength Zones) with an instance or a network interface. Before you can use an\n Elastic IP address, you must allocate it to your account.

\n

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC.\n\t\t\tFor more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n

[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already\n associated with a different instance, it is disassociated from that instance and associated\n with the specified instance. If you associate an Elastic IP address with an instance that has\n an existing Elastic IP address, the existing address is disassociated from the instance, but\n remains allocated to your account.

\n

[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic\n IP address is associated with the primary IP address. If the Elastic IP address is already\n associated with a different instance or a network interface, you get an error unless you allow\n reassociation. You cannot associate an Elastic IP address with an instance or network\n interface that has an existing Elastic IP address.

\n

[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication\n carrier to the instance or network interface.

\n

You cannot associate an Elastic IP address with an interface in a different network border group.

\n \n

This is an idempotent operation. If you perform the operation more than once, Amazon EC2\n doesn't return an error, and you may be charged for each time the Elastic IP address is\n remapped to the same instance. For more information, see the Elastic IP\n Addresses section of Amazon EC2\n Pricing.

\n
\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Associates an Elastic IP address, or carrier IP address (for instances that are in\n subnets in Wavelength Zones) with an instance or a network interface. Before you can use an\n Elastic IP address, you must allocate it to your account.

\n

If the Elastic IP address is already\n associated with a different instance, it is disassociated from that instance and associated\n with the specified instance. If you associate an Elastic IP address with an instance that has\n an existing Elastic IP address, the existing address is disassociated from the instance, but\n remains allocated to your account.

\n

[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication\n carrier to the instance or network interface.

\n

You cannot associate an Elastic IP address with an interface in a different network border group.

\n \n

This is an idempotent operation. If you perform the operation more than once, Amazon EC2\n doesn't return an error, and you may be charged for each time the Elastic IP address is\n remapped to the same instance. For more information, see the Elastic IP\n Addresses section of Amazon EC2\n Pricing.

\n
" } }, "com.amazonaws.ec2#AssociateAddressRequest": { @@ -5970,19 +5979,19 @@ "AllocationId": { "target": "com.amazonaws.ec2#AllocationId", "traits": { - "smithy.api#documentation": "

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" + "smithy.api#documentation": "

The allocation ID. This is required.

" } }, "InstanceId": { "target": "com.amazonaws.ec2#InstanceId", "traits": { - "smithy.api#documentation": "

The ID of the instance. The instance must have exactly one attached network interface.\n For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.\n For EC2-Classic, you must specify an instance ID and the instance must be in the running\n state.

" + "smithy.api#documentation": "

The ID of the instance. The instance must have exactly one attached network interface.\n You can specify either the instance ID or the network interface ID, but not both.

" } }, "PublicIp": { "target": "com.amazonaws.ec2#EipAllocationPublicIp", "traits": { - "smithy.api#documentation": "

[EC2-Classic] The Elastic IP address to associate with the instance. This is required for\n EC2-Classic.

" + "smithy.api#documentation": "

Deprecated.

" } }, "AllowReassociation": { @@ -5991,7 +6000,7 @@ "aws.protocols#ec2QueryName": "AllowReassociation", "smithy.api#clientOptional": {}, "smithy.api#default": false, - "smithy.api#documentation": "

[EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

", + "smithy.api#documentation": "

Reassociation is automatic, but you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

", "smithy.api#xmlName": "allowReassociation" } }, @@ -6009,7 +6018,7 @@ "target": "com.amazonaws.ec2#NetworkInterfaceId", "traits": { "aws.protocols#ec2QueryName": "NetworkInterfaceId", - "smithy.api#documentation": "

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

\n

For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.

", + "smithy.api#documentation": "

The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

\n

You can specify either the instance ID or the network interface ID, but not both.

", "smithy.api#xmlName": "networkInterfaceId" } }, @@ -6017,7 +6026,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "PrivateIpAddress", - "smithy.api#documentation": "

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", + "smithy.api#documentation": "

The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", "smithy.api#xmlName": "privateIpAddress" } } @@ -6033,7 +6042,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "AssociationId", - "smithy.api#documentation": "

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", + "smithy.api#documentation": "

The ID that represents the association of the Elastic IP address with an instance.

", "smithy.api#xmlName": "associationId" } } @@ -14769,6 +14778,95 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#CreateInstanceConnectEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateInstanceConnectEndpointRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateInstanceConnectEndpointResult" + }, + "traits": { + "smithy.api#documentation": "

Creates an EC2 Instance Connect Endpoint.

\n

An EC2 Instance Connect Endpoint allows you to connect to a resource, without\n requiring the resource to have a public IPv4 address. For more information, see Connect to your resources without requiring a public IPv4 address using EC2\n Instance Connect Endpoint in the Amazon EC2 User\n Guide.

" + } + }, + "com.amazonaws.ec2#CreateInstanceConnectEndpointRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the subnet in which to create the EC2 Instance Connect Endpoint.

", + "smithy.api#required": {} + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#SecurityGroupIdStringListRequest", + "traits": { + "smithy.api#documentation": "

One or more security groups to associate with the endpoint. If you don't specify a security group, \n the default security group for your VPC will be associated with the endpoint.

", + "smithy.api#xmlName": "SecurityGroupId" + } + }, + "PreserveClientIp": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether your client's IP address is preserved as the source. The value is true or false.

\n \n

Default: true\n

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "smithy.api#idempotencyToken": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the EC2 Instance Connect Endpoint during creation.

", + "smithy.api#xmlName": "TagSpecification" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateInstanceConnectEndpointResult": { + "type": "structure", + "members": { + "InstanceConnectEndpoint": { + "target": "com.amazonaws.ec2#Ec2InstanceConnectEndpoint", + "traits": { + "aws.protocols#ec2QueryName": "InstanceConnectEndpoint", + "smithy.api#documentation": "

Information about the EC2 Instance Connect Endpoint.

", + "smithy.api#xmlName": "instanceConnectEndpoint" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ClientToken", + "smithy.api#documentation": "

Unique, case-sensitive idempotency token provided by the client in the the request.

", + "smithy.api#xmlName": "clientToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#CreateInstanceEventWindow": { "type": "operation", "input": { @@ -16622,7 +16720,7 @@ "InterfaceType": { "target": "com.amazonaws.ec2#NetworkInterfaceCreationType", "traits": { - "smithy.api#documentation": "

The type of network interface. The default is interface.

\n

The only supported values are efa and trunk.

" + "smithy.api#documentation": "

The type of network interface. The default is interface.

\n

The only supported values are interface, efa, and trunk.

" } }, "SubnetId": { @@ -21639,6 +21737,58 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DeleteInstanceConnectEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteInstanceConnectEndpointRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteInstanceConnectEndpointResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes the specified EC2 Instance Connect Endpoint.

" + } + }, + "com.amazonaws.ec2#DeleteInstanceConnectEndpointRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "InstanceConnectEndpointId": { + "target": "com.amazonaws.ec2#InstanceConnectEndpointId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the EC2 Instance Connect Endpoint to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteInstanceConnectEndpointResult": { + "type": "structure", + "members": { + "InstanceConnectEndpoint": { + "target": "com.amazonaws.ec2#Ec2InstanceConnectEndpoint", + "traits": { + "aws.protocols#ec2QueryName": "InstanceConnectEndpoint", + "smithy.api#documentation": "

Information about the EC2 Instance Connect Endpoint.

", + "smithy.api#xmlName": "instanceConnectEndpoint" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DeleteInstanceEventWindow": { "type": "operation", "input": { @@ -25457,7 +25607,7 @@ "target": "com.amazonaws.ec2#DescribeAddressTransfersResult" }, "traits": { - "smithy.api#documentation": "

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

", + "smithy.api#documentation": "

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

\n

When you transfer an Elastic IP address, there is a two-step handshake\n between the source and transfer Amazon Web Services accounts. When the source account starts the transfer,\n the transfer account has seven days to accept the Elastic IP address\n transfer. During those seven days, the source account can view the\n pending transfer by using this action. After seven days, the\n transfer expires and ownership of the Elastic IP\n address returns to the source\n account. Accepted transfers are visible to the source account for three days\n after the transfers have been accepted.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -25546,7 +25696,7 @@ "target": "com.amazonaws.ec2#DescribeAddressesResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

\n

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC.\n\t\t\t\tFor more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "

Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

" } }, "com.amazonaws.ec2#DescribeAddressesAttribute": { @@ -25640,7 +25790,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n ", + "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -25654,7 +25804,7 @@ "AllocationIds": { "target": "com.amazonaws.ec2#AllocationIdList", "traits": { - "smithy.api#documentation": "

[EC2-VPC] Information about the allocation IDs.

", + "smithy.api#documentation": "

Information about the allocation IDs.

", "smithy.api#xmlName": "AllocationId" } }, @@ -29644,6 +29794,92 @@ "smithy.api#input": {} } }, + "com.amazonaws.ec2#DescribeInstanceConnectEndpoints": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeInstanceConnectEndpointsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeInstanceConnectEndpointsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes the specified EC2 Instance Connect Endpoints or all EC2 Instance Connect Endpoints.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "InstanceConnectEndpoints", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeInstanceConnectEndpointsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#InstanceConnectEndpointMaxResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of items to return for this request.\n To get the next page of items, make another request with the token returned in the output.\n\t For more information, see Pagination.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters.

\n ", + "smithy.api#xmlName": "Filter" + } + }, + "InstanceConnectEndpointIds": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

One or more EC2 Instance Connect Endpoint IDs.

", + "smithy.api#xmlName": "InstanceConnectEndpointId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeInstanceConnectEndpointsResult": { + "type": "structure", + "members": { + "InstanceConnectEndpoints": { + "target": "com.amazonaws.ec2#InstanceConnectEndpointSet", + "traits": { + "aws.protocols#ec2QueryName": "InstanceConnectEndpointSet", + "smithy.api#documentation": "

Information about the EC2 Instance Connect Endpoints.

", + "smithy.api#xmlName": "instanceConnectEndpointSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to include in another request to get the next page of items. This value is null when there\n are no more items to return.

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeInstanceCreditSpecifications": { "type": "operation", "input": { @@ -31990,7 +32226,7 @@ "target": "com.amazonaws.ec2#DescribeMovingAddressesResult" }, "traits": { - "smithy.api#documentation": "

Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

", + "smithy.api#documentation": "\n

This action is deprecated.

\n
\n

Describes your Elastic IP addresses that are being moved from or being restored to the EC2-Classic platform. \n This request does not return information about any other Elastic IP addresses in your account.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -40736,7 +40972,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Disassociates an Elastic IP address from the instance or network interface it's associated with.

\n

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more\n\t\t\tinformation, see Elastic IP\n\t\t\t\tAddresses in the Amazon Elastic Compute Cloud User Guide.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" + "smithy.api#documentation": "

Disassociates an Elastic IP address from the instance or network interface it's associated with.

\n

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" } }, "com.amazonaws.ec2#DisassociateAddressRequest": { @@ -40745,13 +40981,13 @@ "AssociationId": { "target": "com.amazonaws.ec2#ElasticIpAssociationId", "traits": { - "smithy.api#documentation": "

[EC2-VPC] The association ID. Required for EC2-VPC.

" + "smithy.api#documentation": "

The association ID. This parameter is required.

" } }, "PublicIp": { "target": "com.amazonaws.ec2#EipAllocationPublicIp", "traits": { - "smithy.api#documentation": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" + "smithy.api#documentation": "

Deprecated.

" } }, "DryRun": { @@ -42319,6 +42555,177 @@ } } }, + "com.amazonaws.ec2#Ec2InstanceConnectEndpoint": { + "type": "structure", + "members": { + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that created the EC2 Instance Connect Endpoint.

", + "smithy.api#xmlName": "ownerId" + } + }, + "InstanceConnectEndpointId": { + "target": "com.amazonaws.ec2#InstanceConnectEndpointId", + "traits": { + "aws.protocols#ec2QueryName": "InstanceConnectEndpointId", + "smithy.api#documentation": "

The ID of the EC2 Instance Connect Endpoint.

", + "smithy.api#xmlName": "instanceConnectEndpointId" + } + }, + "InstanceConnectEndpointArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "InstanceConnectEndpointArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint.

", + "smithy.api#xmlName": "instanceConnectEndpointArn" + } + }, + "State": { + "target": "com.amazonaws.ec2#Ec2InstanceConnectEndpointState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the EC2 Instance Connect Endpoint.

", + "smithy.api#xmlName": "state" + } + }, + "StateMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StateMessage", + "smithy.api#documentation": "

The message for the current state of the EC2 Instance Connect Endpoint. \n Can include a failure message.

", + "smithy.api#xmlName": "stateMessage" + } + }, + "DnsName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "DnsName", + "smithy.api#documentation": "

The DNS name of the EC2 Instance Connect Endpoint.

", + "smithy.api#xmlName": "dnsName" + } + }, + "FipsDnsName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "FipsDnsName", + "smithy.api#documentation": "

", + "smithy.api#xmlName": "fipsDnsName" + } + }, + "NetworkInterfaceIds": { + "target": "com.amazonaws.ec2#NetworkInterfaceIdSet", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceIdSet", + "smithy.api#documentation": "

The ID of the elastic network interface that Amazon EC2 automatically created when creating the EC2\n Instance Connect Endpoint.

", + "smithy.api#xmlName": "networkInterfaceIdSet" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#VpcId", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

The ID of the VPC in which the EC2 Instance Connect Endpoint was created.

", + "smithy.api#xmlName": "vpcId" + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The Availability Zone of the EC2 Instance Connect Endpoint.

", + "smithy.api#xmlName": "availabilityZone" + } + }, + "CreatedAt": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreatedAt", + "smithy.api#documentation": "

The date and time that the EC2 Instance Connect Endpoint was created.

", + "smithy.api#xmlName": "createdAt" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

The ID of the subnet in which the EC2 Instance Connect Endpoint was created.

", + "smithy.api#xmlName": "subnetId" + } + }, + "PreserveClientIp": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "PreserveClientIp", + "smithy.api#clientOptional": {}, + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether your client's IP address is preserved as the source. The value is true or false.

\n \n

Default: true\n

", + "smithy.api#xmlName": "preserveClientIp" + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.ec2#SecurityGroupIdSet", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupIdSet", + "smithy.api#documentation": "

The security groups associated with the endpoint. If you didn't specify a security group, \n the default security group for your VPC is associated with the endpoint.

", + "smithy.api#xmlName": "securityGroupIdSet" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the EC2 Instance Connect Endpoint.

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

The EC2 Instance Connect Endpoint.

" + } + }, + "com.amazonaws.ec2#Ec2InstanceConnectEndpointState": { + "type": "enum", + "members": { + "create_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-in-progress" + } + }, + "create_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-complete" + } + }, + "create_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-failed" + } + }, + "delete_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-in-progress" + } + }, + "delete_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-complete" + } + }, + "delete_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-failed" + } + } + } + }, "com.amazonaws.ec2#EfaInfo": { "type": "structure", "members": { @@ -48734,7 +49141,7 @@ "target": "com.amazonaws.ec2#GetIpamPoolAllocationsResult" }, "traits": { - "smithy.api#documentation": "

Get a list of all the CIDR allocations in an IPAM pool.

\n \n

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

\n
", + "smithy.api#documentation": "

Get a list of all the CIDR allocations in an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

\n \n

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -54851,6 +55258,28 @@ "smithy.api#documentation": "

Information about the number of instances that can be launched onto the Dedicated\n Host.

" } }, + "com.amazonaws.ec2#InstanceConnectEndpointId": { + "type": "string" + }, + "com.amazonaws.ec2#InstanceConnectEndpointMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.ec2#InstanceConnectEndpointSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Ec2InstanceConnectEndpoint", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#InstanceCount": { "type": "structure", "members": { @@ -73654,7 +74083,7 @@ "target": "com.amazonaws.ec2#MoveAddressToVpcResult" }, "traits": { - "smithy.api#documentation": "

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The\n Elastic IP address must be allocated to your account for more than 24 hours, and it must not\n be associated with an instance. After the Elastic IP address is moved, it is no longer\n available for use in the EC2-Classic platform, unless you move it back using the\n RestoreAddressToClassic request. You cannot move an Elastic IP address that was\n originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "\n

This action is deprecated.

\n
\n

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The\n Elastic IP address must be allocated to your account for more than 24 hours, and it must not\n be associated with an instance. After the Elastic IP address is moved, it is no longer\n available for use in the EC2-Classic platform, unless you move it back using the\n RestoreAddressToClassic request. You cannot move an Elastic IP address that was\n originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

" } }, "com.amazonaws.ec2#MoveAddressToVpcRequest": { @@ -73801,7 +74230,7 @@ "target": "com.amazonaws.ec2#MoveStatus", "traits": { "aws.protocols#ec2QueryName": "MoveStatus", - "smithy.api#documentation": "

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

", + "smithy.api#documentation": "

The status of the Elastic IP address that's being moved or restored.

", "smithy.api#xmlName": "moveStatus" } }, @@ -73815,7 +74244,7 @@ } }, "traits": { - "smithy.api#documentation": "

Describes the status of a moving Elastic IP address.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "\n

This action is deprecated.

\n
\n

Describes the status of a moving Elastic IP address.

" } }, "com.amazonaws.ec2#MovingAddressStatusSet": { @@ -75609,6 +76038,15 @@ } } }, + "com.amazonaws.ec2#NetworkInterfaceIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#NetworkInterfaceIpv6Address": { "type": "structure", "members": { @@ -80357,7 +80795,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Releases the specified Elastic IP address.

\n

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it\n\t\t\t\tfrom any instance that it's associated with. To disassociate an Elastic IP address without\n\t\t\t\treleasing it, use DisassociateAddress.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
\n

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address\n\t\t\t before you can release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

\n

After releasing an Elastic IP address, it is released to the IP address pool. \n Be sure to update your DNS records and any servers or devices that communicate with the address. \n If you attempt to release an Elastic IP address that you already released, you'll get an\n AuthFailure error if the address is already allocated to another Amazon Web Services account.

\n

[EC2-VPC] After you release an Elastic IP address for use in a VPC, you might be able to recover it.\n For more information, see AllocateAddress.

\n

For more\n information, see Elastic IP\n Addresses in the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Releases the specified Elastic IP address.

\n

[Default VPC] Releasing an Elastic IP address automatically disassociates it\n\t\t\t\tfrom any instance that it's associated with. To disassociate an Elastic IP address without\n\t\t\t\treleasing it, use DisassociateAddress.

\n

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address\n\t\t\t before you can release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

\n

After releasing an Elastic IP address, it is released to the IP address pool. \n Be sure to update your DNS records and any servers or devices that communicate with the address. \n If you attempt to release an Elastic IP address that you already released, you'll get an\n AuthFailure error if the address is already allocated to another Amazon Web Services account.

\n

After you release an Elastic IP address, you might be able to recover it.\n For more information, see AllocateAddress.

" } }, "com.amazonaws.ec2#ReleaseAddressRequest": { @@ -80366,13 +80804,13 @@ "AllocationId": { "target": "com.amazonaws.ec2#AllocationId", "traits": { - "smithy.api#documentation": "

[EC2-VPC] The allocation ID. Required for EC2-VPC.

" + "smithy.api#documentation": "

The allocation ID. This parameter is required.

" } }, "PublicIp": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" + "smithy.api#documentation": "

Deprecated.

" } }, "NetworkBorderGroup": { @@ -80459,7 +80897,7 @@ "target": "com.amazonaws.ec2#ReleaseIpamPoolAllocationResult" }, "traits": { - "smithy.api#documentation": "

Release an allocation within an IPAM pool. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.\n

\n \n

All EC2 API actions follow an eventual consistency model.

\n
" + "smithy.api#documentation": "

Release an allocation within an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.\n

\n \n

All EC2 API actions follow an eventual consistency model.

\n
" } }, "com.amazonaws.ec2#ReleaseIpamPoolAllocationRequest": { @@ -84035,6 +84473,12 @@ "traits": { "smithy.api#enumValue": "ipam-resource-discovery-association" } + }, + "instance_connect_endpoint": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance-connect-endpoint" + } } } }, @@ -84357,7 +84801,7 @@ "target": "com.amazonaws.ec2#RestoreAddressToClassicResult" }, "traits": { - "smithy.api#documentation": "

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

\n \n

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

\n
" + "smithy.api#documentation": "\n

This action is deprecated.

\n
\n

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

" } }, "com.amazonaws.ec2#RestoreAddressToClassicRequest": { @@ -87246,6 +87690,15 @@ } } }, + "com.amazonaws.ec2#SecurityGroupIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#SecurityGroupIdStringList": { "type": "list", "member": { @@ -87255,6 +87708,21 @@ } } }, + "com.amazonaws.ec2#SecurityGroupIdStringListRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SecurityGroupId", + "traits": { + "smithy.api#xmlName": "SecurityGroupId" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 16 + } + } + }, "com.amazonaws.ec2#SecurityGroupIdentifier": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/imagebuilder.json b/codegen/sdk-codegen/aws-models/imagebuilder.json index 51dcad87399..98d05828ce0 100644 --- a/codegen/sdk-codegen/aws-models/imagebuilder.json +++ b/codegen/sdk-codegen/aws-models/imagebuilder.json @@ -407,7 +407,7 @@ "parameters": { "target": "com.amazonaws.imagebuilder#ComponentParameterDetailList", "traits": { - "smithy.api#documentation": "

Contains parameter details for each of the parameters that the component document\n\t\t\tdefined for the component.

" + "smithy.api#documentation": "

Contains parameter details for each of the parameters that the component document \n\t\t\tdefined for the component.

" } }, "owner": { @@ -449,14 +449,14 @@ "publisher": { "target": "com.amazonaws.imagebuilder#NonEmptyString", "traits": { - "smithy.api#documentation": "

Contains the name of the publisher if this is a third-party component. Otherwise, this\n\t\t\tproperty is empty.

" + "smithy.api#documentation": "

Contains the name of the publisher if this is a third-party component. Otherwise, \n\t\t\tthis property is empty.

" } }, "obfuscate": { "target": "com.amazonaws.imagebuilder#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether component source is hidden from view in the console, and from\n\t\t\tcomponent detail results for API, CLI, or SDK operations.

" + "smithy.api#documentation": "

Indicates whether component source is hidden from view in the console, and from \n\t\t\tcomponent detail results for API, CLI, or SDK operations.

" } } }, @@ -743,14 +743,14 @@ "publisher": { "target": "com.amazonaws.imagebuilder#NonEmptyString", "traits": { - "smithy.api#documentation": "

Contains the name of the publisher if this is a third-party component. Otherwise, this\n\t\t\tproperty is empty.

" + "smithy.api#documentation": "

Contains the name of the publisher if this is a third-party component. Otherwise, \n\t\t\tthis property is empty.

" } }, "obfuscate": { "target": "com.amazonaws.imagebuilder#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Indicates whether component source is hidden from view in the console, and from\n\t\t\tcomponent detail results for API, CLI, or SDK operations.

" + "smithy.api#documentation": "

Indicates whether component source is hidden from view in the console, \n\t\t\tand from component detail results for API, CLI, or SDK operations.

" } } }, @@ -4561,13 +4561,13 @@ "enhancedImageMetadataEnabled": { "target": "com.amazonaws.imagebuilder#NullableBoolean", "traits": { - "smithy.api#documentation": "

Indicates whether Image Builder collects additional information about the image, such as the\n\t\t\toperating system (OS) version and package list.

" + "smithy.api#documentation": "

Indicates whether Image Builder collects additional information about the image, such as \n\t\t\tthe operating system (OS) version and package list.

" } }, "osVersion": { "target": "com.amazonaws.imagebuilder#OsVersion", "traits": { - "smithy.api#documentation": "

The operating system version for instances that launch from this image. For example,\n\t\t\tAmazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

" + "smithy.api#documentation": "

The operating system version for instances that launch from this image. For example, \n\t\t\tAmazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

" } }, "state": { @@ -4579,13 +4579,13 @@ "imageRecipe": { "target": "com.amazonaws.imagebuilder#ImageRecipe", "traits": { - "smithy.api#documentation": "

For images that distribute an AMI, this is the image recipe that Image Builder used to create\n\t\t\tthe image. For container images, this is empty.

" + "smithy.api#documentation": "

For images that distribute an AMI, this is the image recipe that Image Builder used to \n\t\t\tcreate the image. For container images, this is empty.

" } }, "containerRecipe": { "target": "com.amazonaws.imagebuilder#ContainerRecipe", "traits": { - "smithy.api#documentation": "

For container images, this is the container recipe that Image Builder used to create the image.\n\t\t\tFor images that distribute an AMI, this is empty.

" + "smithy.api#documentation": "

For container images, this is the container recipe that Image Builder used to create the \n\t\t\timage. For images that distribute an AMI, this is empty.

" } }, "sourcePipelineName": { @@ -4828,7 +4828,7 @@ "dateNextRun": { "target": "com.amazonaws.imagebuilder#DateTime", "traits": { - "smithy.api#documentation": "

This is no longer supported, and does not return a value.

" + "smithy.api#documentation": "

The next date when the pipeline is scheduled to run.

" } }, "tags": { @@ -5463,7 +5463,7 @@ "osVersion": { "target": "com.amazonaws.imagebuilder#OsVersion", "traits": { - "smithy.api#documentation": "

The operating system version of the instances that launch from this image. For\n\t\t\texample, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

" + "smithy.api#documentation": "

The operating system version of the instances that launch from this image. For \n\t\t\texample, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

" } }, "state": { @@ -5595,7 +5595,7 @@ "platform": { "target": "com.amazonaws.imagebuilder#Platform", "traits": { - "smithy.api#documentation": "

The operating system platform of the image version, for example \"Windows\" or\n\t\t\t\"Linux\".

" + "smithy.api#documentation": "

The operating system platform of the image version, for example \"Windows\" or \n\t\t\t\"Linux\".

" } }, "osVersion": { @@ -10803,9 +10803,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -10816,9 +10816,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -10829,9 +10829,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -10842,9 +10842,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -10855,9 +10855,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -10868,9 +10868,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -10881,9 +10881,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -10894,9 +10894,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -10907,9 +10907,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -10920,9 +10920,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -10933,9 +10933,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -10946,9 +10946,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -10959,9 +10959,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -10972,9 +10972,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -10983,9 +10983,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -10996,9 +10996,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -11007,9 +11007,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -11020,9 +11020,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -11031,9 +11031,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -11044,9 +11044,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -11055,9 +11055,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -11068,9 +11068,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -11081,9 +11081,9 @@ } }, "params": { - "UseDualStack": false, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -11095,8 +11095,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -11106,9 +11106,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -11118,9 +11118,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } }, diff --git a/codegen/sdk-codegen/aws-models/lightsail.json b/codegen/sdk-codegen/aws-models/lightsail.json index 2c7b86243c6..6aa25950b36 100644 --- a/codegen/sdk-codegen/aws-models/lightsail.json +++ b/codegen/sdk-codegen/aws-models/lightsail.json @@ -586,6 +586,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#AppCategory": { @@ -673,6 +676,9 @@ "smithy.api#documentation": "

An object that describes the result of the action, such as the status of the request, the\n timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#AttachDisk": { @@ -759,6 +765,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#AttachInstancesToLoadBalancer": { @@ -832,6 +841,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#AttachLoadBalancerTlsCertificate": { @@ -905,6 +917,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

\n

These SSL/TLS certificates are only usable by Lightsail load balancers. You can't get\n the certificate and use it for another purpose.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#AttachStaticIp": { @@ -978,6 +993,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#AttachedDisk": { @@ -1873,7 +1891,7 @@ } }, "traits": { - "smithy.api#documentation": "

Describes the full details of an Amazon Lightsail SSL/TLS certificate.

\n \n

To get a summary of a certificate, use the GetCertificates action and ommit\n includeCertificateDetails from your request. The response will include only\n the certificate Amazon Resource Name (ARN), certificate name, domain name, and tags.

\n
" + "smithy.api#documentation": "

Describes the full details of an Amazon Lightsail SSL/TLS certificate.

\n \n

To get a summary of a certificate, use the GetCertificates action and omit\n includeCertificateDetails from your request. The response will include only\n the certificate Amazon Resource Name (ARN), certificate name, domain name, and tags.

\n
" } }, "com.amazonaws.lightsail#CertificateDomainValidationStatus": { @@ -2070,6 +2088,9 @@ "smithy.api#documentation": "

An object that describes the result of the action, such as the status of the request, the\n timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CloudFormationStackRecord": { @@ -3128,6 +3149,9 @@ "smithy.api#documentation": "

An array of objects that describe one or more container services.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CookieObject": { @@ -3245,6 +3269,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CostEstimate": { @@ -3368,6 +3395,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateBucketRequest": { @@ -3419,6 +3449,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateCertificate": { @@ -3504,6 +3537,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateCloudFormationStack": { @@ -3570,6 +3606,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateContactMethod": { @@ -3640,6 +3679,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateContainerService": { @@ -3747,6 +3789,9 @@ "smithy.api#documentation": "

An object that describes a container service.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateContainerServiceRegistryLogin": { @@ -3799,6 +3844,9 @@ "smithy.api#documentation": "

An object that describes the log in information for the container service registry of your\n Lightsail account.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateContainerServiceRequest": { @@ -3863,6 +3911,9 @@ "smithy.api#documentation": "

An object that describes a container service.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateDisk": { @@ -4019,6 +4070,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateDiskRequest": { @@ -4071,6 +4125,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateDiskSnapshot": { @@ -4155,6 +4212,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateDistribution": { @@ -4269,6 +4329,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateDomain": { @@ -4382,6 +4445,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateDomainRequest": { @@ -4414,6 +4480,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateGUISessionAccessDetails": { @@ -4498,6 +4567,9 @@ "smithy.api#documentation": "

Returns information about the specified NICE DCV GUI session.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateInstanceSnapshot": { @@ -4577,6 +4649,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateInstances": { @@ -4757,6 +4832,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateInstancesRequest": { @@ -4841,6 +4919,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateKeyPair": { @@ -4931,6 +5012,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateLoadBalancer": { @@ -5047,6 +5131,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateLoadBalancerTlsCertificate": { @@ -5139,6 +5226,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateRelationalDatabase": { @@ -5293,6 +5383,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateRelationalDatabaseRequest": { @@ -5383,6 +5476,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#CreateRelationalDatabaseSnapshot": { @@ -5462,6 +5558,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#Currency": { @@ -5536,6 +5635,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteAutoSnapshot": { @@ -5606,6 +5708,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteBucket": { @@ -5707,6 +5812,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteBucketRequest": { @@ -5739,6 +5847,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteCertificate": { @@ -5799,6 +5910,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteContactMethod": { @@ -5862,6 +5976,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteContainerImage": { @@ -5924,7 +6041,10 @@ }, "com.amazonaws.lightsail#DeleteContainerImageResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.lightsail#DeleteContainerService": { "type": "operation", @@ -5978,7 +6098,10 @@ }, "com.amazonaws.lightsail#DeleteContainerServiceResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.lightsail#DeleteDisk": { "type": "operation", @@ -6050,6 +6173,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteDiskSnapshot": { @@ -6116,6 +6242,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteDistribution": { @@ -6178,6 +6307,9 @@ "smithy.api#documentation": "

An object that describes the result of the action, such as the status of the request, the\n timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteDomain": { @@ -6291,6 +6423,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteDomainRequest": { @@ -6317,6 +6452,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteInstance": { @@ -6389,6 +6527,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteInstanceSnapshot": { @@ -6455,6 +6596,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteKeyPair": { @@ -6527,6 +6671,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteKnownHostKeys": { @@ -6593,6 +6740,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteLoadBalancer": { @@ -6659,6 +6809,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteLoadBalancerTlsCertificate": { @@ -6738,6 +6891,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteRelationalDatabase": { @@ -6816,6 +6972,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DeleteRelationalDatabaseSnapshot": { @@ -6882,6 +7041,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DestinationInfo": { @@ -6965,6 +7127,9 @@ "smithy.api#documentation": "

An object that describes the result of the action, such as the status of the request, the\n timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DetachDisk": { @@ -7031,6 +7196,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DetachInstancesFromLoadBalancer": { @@ -7104,6 +7272,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DetachStaticIp": { @@ -7170,6 +7341,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#DisableAddOn": { @@ -7240,6 +7414,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#Disk": { @@ -7995,6 +8172,9 @@ "smithy.api#documentation": "

The timestamp when the default key pair was created.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#EligibleToRenew": { @@ -8068,6 +8248,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#EndpointRequest": { @@ -8350,6 +8533,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#ForwardValues": { @@ -8444,6 +8630,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetActiveNames request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetAlarms": { @@ -8524,6 +8713,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetAlarms request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetAutoSnapshots": { @@ -8599,6 +8791,9 @@ "smithy.api#documentation": "

An array of objects that describe the automatic snapshots that are available for the\n specified source instance or disk.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetBlueprints": { @@ -8682,6 +8877,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetBlueprints request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetBucketAccessKeys": { @@ -8742,6 +8940,9 @@ "smithy.api#documentation": "

An object that describes the access keys for the specified bucket.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetBucketBundles": { @@ -8798,6 +8999,9 @@ "smithy.api#documentation": "

An object that describes bucket bundles.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetBucketMetricData": { @@ -8907,6 +9111,9 @@ "smithy.api#documentation": "

An array of objects that describe the metric data returned.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetBuckets": { @@ -8990,6 +9197,9 @@ "smithy.api#documentation": "

An object that describes the synchronization status of the Amazon S3 account-level\n block public access feature for your Lightsail buckets.

\n

For more information about this feature and how it affects Lightsail buckets, see Block public access for buckets in Amazon Lightsail.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetBundles": { @@ -9073,6 +9283,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetBundles request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetCertificates": { @@ -9101,7 +9314,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns information about one or more Amazon Lightsail SSL/TLS certificates.

\n \n

To get a summary of a certificate, ommit includeCertificateDetails from\n your request. The response will include only the certificate Amazon Resource Name (ARN),\n certificate name, domain name, and tags.

\n
", + "smithy.api#documentation": "

Returns information about one or more Amazon Lightsail SSL/TLS certificates.

\n \n

To get a summary of a certificate, omit includeCertificateDetails from\n your request. The response will include only the certificate Amazon Resource Name (ARN),\n certificate name, domain name, and tags.

\n
", "smithy.api#http": { "method": "POST", "uri": "/ls/api/2016-11-28/GetCertificates", @@ -9130,6 +9343,12 @@ "traits": { "smithy.api#documentation": "

The name for the certificate for which to return information.

\n

When omitted, the response includes all of your certificates in the Amazon Web Services\n Region where the request is made.

" } + }, + "pageToken": { + "target": "com.amazonaws.lightsail#string", + "traits": { + "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

To get a page token, perform an initial GetCertificates request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } } }, "traits": { @@ -9144,7 +9363,16 @@ "traits": { "smithy.api#documentation": "

An object that describes certificates.

" } + }, + "nextPageToken": { + "target": "com.amazonaws.lightsail#string", + "traits": { + "smithy.api#documentation": "

If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

" + } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetCloudFormationStackRecords": { @@ -9216,6 +9444,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another\n GetCloudFormationStackRecords request and specify the next page token using the\n pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetContactMethods": { @@ -9278,6 +9509,9 @@ "smithy.api#documentation": "

An array of objects that describe the contact methods.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetContainerAPIMetadata": { @@ -9324,6 +9558,9 @@ "smithy.api#documentation": "

Metadata about Lightsail containers, such as the current version of the Lightsail\n Control (lightsailctl) plugin.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetContainerImages": { @@ -9385,6 +9622,9 @@ "smithy.api#documentation": "

An array of objects that describe container images that are registered to the container\n service.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetContainerLog": { @@ -9488,6 +9728,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetContainerLog request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetContainerServiceDeployments": { @@ -9549,6 +9792,9 @@ "smithy.api#documentation": "

An array of objects that describe deployments for a container service.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetContainerServiceMetricData": { @@ -9657,6 +9903,9 @@ "smithy.api#documentation": "

An array of objects that describe the metric data returned.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetContainerServicePowers": { @@ -9709,6 +9958,9 @@ "smithy.api#documentation": "

An array of objects that describe the powers that can be specified for a container\n service.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetContainerServices": { @@ -9807,14 +10059,14 @@ "startTime": { "target": "com.amazonaws.lightsail#IsoDate", "traits": { - "smithy.api#documentation": "

The cost estimate start time.

\n

Constraints:

\n \n

You can convert a human-friendly time to Unix time format using a converter like Epoch converter.

", + "smithy.api#documentation": "

The cost estimate start time.

\n

Constraints:

\n \n

You can convert a human-friendly time to Unix time format using a converter like Epoch converter.

", "smithy.api#required": {} } }, "endTime": { "target": "com.amazonaws.lightsail#IsoDate", "traits": { - "smithy.api#documentation": "

The cost estimate end time.

\n

Constraints:

\n \n

You can convert a human-friendly time to Unix time format using a converter like Epoch converter.

", + "smithy.api#documentation": "

The cost estimate end time.

\n

Constraints:

\n \n

You can convert a human-friendly time to Unix time format using a converter like Epoch converter.

", "smithy.api#required": {} } } @@ -9832,6 +10084,9 @@ "smithy.api#documentation": "

Returns the estimate's forecasted cost or usage.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDisk": { @@ -9898,6 +10153,9 @@ "smithy.api#documentation": "

An object containing information about the disk.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDiskSnapshot": { @@ -9964,6 +10222,9 @@ "smithy.api#documentation": "

An object containing information about the disk snapshot.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDiskSnapshots": { @@ -10035,6 +10296,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetDiskSnapshots request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDisks": { @@ -10106,6 +10370,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetDisks request and specify\n the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDistributionBundles": { @@ -10161,6 +10428,9 @@ "smithy.api#documentation": "

An object that describes a distribution bundle.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDistributionLatestCacheReset": { @@ -10229,6 +10499,9 @@ "smithy.api#documentation": "

The timestamp of the last cache reset (e.g., 1479734909.17) in Unix time\n format.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDistributionMetricData": { @@ -10341,6 +10614,9 @@ "smithy.api#documentation": "

An array of objects that describe the metric data returned.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDistributions": { @@ -10415,6 +10691,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetDistributions request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDomain": { @@ -10481,6 +10760,9 @@ "smithy.api#documentation": "

An array of key-value pairs containing information about your get domain request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetDomains": { @@ -10552,6 +10834,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetDomains request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetExportSnapshotRecords": { @@ -10623,6 +10908,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetExportSnapshotRecords\n request and specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetInstance": { @@ -10735,6 +11023,9 @@ "smithy.api#documentation": "

An array of key-value pairs containing information about a get instance access\n request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetInstanceMetricData": { @@ -10850,6 +11141,9 @@ "smithy.api#documentation": "

An array of objects that describe the metric data returned.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetInstancePortStates": { @@ -10916,6 +11210,9 @@ "smithy.api#documentation": "

An array of objects that describe the firewall port states for the specified\n instance.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetInstanceRequest": { @@ -10942,6 +11239,9 @@ "smithy.api#documentation": "

An array of key-value pairs containing information about the specified instance.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetInstanceSnapshot": { @@ -11008,6 +11308,9 @@ "smithy.api#documentation": "

An array of key-value pairs containing information about the results of your get instance\n snapshot request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetInstanceSnapshots": { @@ -11079,6 +11382,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetInstanceSnapshots request\n and specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetInstanceState": { @@ -11145,6 +11451,9 @@ "smithy.api#documentation": "

The state of the instance.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetInstances": { @@ -11216,6 +11525,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetInstances request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetKeyPair": { @@ -11282,6 +11594,9 @@ "smithy.api#documentation": "

An array of key-value pairs containing information about the key pair.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetKeyPairs": { @@ -11359,6 +11674,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetKeyPairs request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetLoadBalancer": { @@ -11514,6 +11832,9 @@ "smithy.api#documentation": "

An array of objects that describe the metric data returned.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetLoadBalancerRequest": { @@ -11540,6 +11861,9 @@ "smithy.api#documentation": "

An object containing information about your load balancer.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetLoadBalancerTlsCertificates": { @@ -11606,6 +11930,9 @@ "smithy.api#documentation": "

An array of LoadBalancerTlsCertificate objects describing your SSL/TLS\n certificates.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetLoadBalancerTlsPolicies": { @@ -11671,6 +11998,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetLoadBalancerTlsPolicies\n request and specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetLoadBalancers": { @@ -11742,6 +12072,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetLoadBalancers request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetOperation": { @@ -11808,6 +12141,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetOperations": { @@ -11933,6 +12269,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetOperationsForResource\n request and specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetOperationsRequest": { @@ -11964,6 +12303,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetOperations request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRegions": { @@ -12035,6 +12377,9 @@ "smithy.api#documentation": "

An array of key-value pairs containing information about your get regions request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabase": { @@ -12146,6 +12491,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another\n GetRelationalDatabaseBlueprints request and specify the next page token using\n the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseBundles": { @@ -12223,6 +12571,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetRelationalDatabaseBundles\n request and specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseEvents": { @@ -12307,6 +12658,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetRelationalDatabaseEvents\n request and specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseLogEvents": { @@ -12416,6 +12770,9 @@ "smithy.api#documentation": "

A token used for advancing to the next page of results from your get relational database\n log events request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseLogStreams": { @@ -12482,6 +12839,9 @@ "smithy.api#documentation": "

An object describing the result of your get relational database log streams\n request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseMasterUserPassword": { @@ -12560,6 +12920,9 @@ "smithy.api#documentation": "

The timestamp when the specified version of the master user password was created.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseMetricData": { @@ -12675,6 +13038,9 @@ "smithy.api#documentation": "

An array of objects that describe the metric data returned.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseParameters": { @@ -12753,6 +13119,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another\n GetRelationalDatabaseParameters request and specify the next page token using\n the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseRequest": { @@ -12779,6 +13148,9 @@ "smithy.api#documentation": "

An object describing the specified database.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseSnapshot": { @@ -12845,6 +13217,9 @@ "smithy.api#documentation": "

An object describing the specified database snapshot.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabaseSnapshots": { @@ -12916,6 +13291,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another\n GetRelationalDatabaseSnapshots request and specify the next page token using\n the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetRelationalDatabases": { @@ -12987,6 +13365,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetRelationalDatabases\n request and specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetStaticIp": { @@ -13053,6 +13434,9 @@ "smithy.api#documentation": "

An array of key-value pairs containing information about the requested static IP.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#GetStaticIps": { @@ -13124,6 +13508,9 @@ "smithy.api#documentation": "

The token to advance to the next page of results from your request.

\n

A next page token is not returned if there are no more results to display.

\n

To get the next page of results, perform another GetStaticIps request and\n specify the next page token using the pageToken parameter.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#HeaderEnum": { @@ -13436,6 +13823,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#InUseResourceCount": { @@ -14508,6 +14898,9 @@ "smithy.api#documentation": "

Returns true if the Lightsail VPC is peered; otherwise,\n false.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#IsoDate": { @@ -15882,6 +16275,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -15895,6 +16299,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -15908,6 +16323,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -15921,6 +16347,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -15984,6 +16421,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" @@ -17547,6 +17990,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#Operation": { @@ -18326,6 +18772,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#PendingMaintenanceAction": { @@ -18715,6 +19164,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#PutInstancePublicPorts": { @@ -18788,6 +19240,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#QueryStringObject": { @@ -18923,6 +19378,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#RebootRelationalDatabase": { @@ -18989,6 +19447,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#RecordState": { @@ -19232,6 +19693,9 @@ "smithy.api#documentation": "

An object that describes a container image that is registered to a Lightsail container\n service

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#RegisteredDomainDelegationInfo": { @@ -19931,6 +20395,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#RenewalStatus": { @@ -20072,6 +20539,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#ResourceArn": { @@ -20408,6 +20878,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#SensitiveNonEmptyString": { @@ -20558,6 +21031,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#SetResourceAccessForBucket": { @@ -20632,6 +21108,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#StartGUISession": { @@ -20692,6 +21171,9 @@ "smithy.api#documentation": "

The available API operations.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#StartInstance": { @@ -20758,6 +21240,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#StartRelationalDatabase": { @@ -20824,6 +21309,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#StaticIp": { @@ -21034,6 +21522,9 @@ "smithy.api#documentation": "

The available API operations.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#StopInstance": { @@ -21126,6 +21617,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#StopRelationalDatabase": { @@ -21198,6 +21692,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#StringList": { @@ -21333,6 +21830,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#TagValue": { @@ -21406,6 +21906,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#TimeOfDay": { @@ -21541,6 +22044,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UntagResource": { @@ -21620,6 +22126,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateBucket": { @@ -21721,6 +22230,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateBucketRequest": { @@ -21777,6 +22289,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateContainerService": { @@ -21868,6 +22383,9 @@ "smithy.api#documentation": "

An object that describes a container service.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateDistribution": { @@ -21973,6 +22491,9 @@ "smithy.api#documentation": "

An object that describes the result of the action, such as the status of the request, the\n timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateDistributionRequest": { @@ -22029,6 +22550,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateDomainEntry": { @@ -22102,6 +22626,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateInstanceMetadataOptions": { @@ -22192,6 +22719,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateLoadBalancerAttribute": { @@ -22272,6 +22802,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateRelationalDatabase": { @@ -22385,6 +22918,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#UpdateRelationalDatabaseRequest": { @@ -22465,6 +23001,9 @@ "smithy.api#documentation": "

An array of objects that describe the result of the action, such as the status of the\n request, the timestamp of the request, and the resources affected by the request.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lightsail#boolean": { diff --git a/codegen/sdk-codegen/aws-models/s3.json b/codegen/sdk-codegen/aws-models/s3.json index a08417723f5..40f72b9eb14 100644 --- a/codegen/sdk-codegen/aws-models/s3.json +++ b/codegen/sdk-codegen/aws-models/s3.json @@ -33016,6 +33016,12 @@ "traits": { "smithy.api#enumValue": "aws:kms" } + }, + "aws_kms_dsse": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "aws:kms:dsse" + } } } }, diff --git a/codegen/sdk-codegen/aws-models/securityhub.json b/codegen/sdk-codegen/aws-models/securityhub.json index c738496ee88..bc075c772e4 100644 --- a/codegen/sdk-codegen/aws-models/securityhub.json +++ b/codegen/sdk-codegen/aws-models/securityhub.json @@ -248,6 +248,18 @@ "smithy.api#documentation": "

Provides details about one of the following actions that affects or that was taken on a resource:

\n " } }, + "com.amazonaws.securityhub#ActionList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#AutomationRulesAction" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.securityhub#ActionLocalIpDetails": { "type": "structure", "members": { @@ -565,26 +577,494 @@ "DISABLED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "DISABLED" + "smithy.api#enumValue": "DISABLED" + } + } + } + }, + "com.amazonaws.securityhub#AutoEnableStandards": { + "type": "enum", + "members": { + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + }, + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEFAULT" + } + } + } + }, + "com.amazonaws.securityhub#AutomationRulesAction": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.securityhub#AutomationRulesActionType", + "traits": { + "smithy.api#documentation": "

\n Specifies that the rule action should update the Types finding field. The Types \n finding field provides one or more finding types in the format of \n namespace/category/classifier that classify a finding. For more information, see\n Types taxonomy for ASFF in \n the Security Hub User Guide.\n

" + } + }, + "FindingFieldsUpdate": { + "target": "com.amazonaws.securityhub#AutomationRulesFindingFieldsUpdate", + "traits": { + "smithy.api#documentation": "

\n Specifies that the automation rule action is an update to a finding field.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n One or more actions to update finding fields if a finding matches the defined criteria \n of the rule.\n

" + } + }, + "com.amazonaws.securityhub#AutomationRulesActionType": { + "type": "enum", + "members": { + "FINDING_FIELDS_UPDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FINDING_FIELDS_UPDATE" + } + } + } + }, + "com.amazonaws.securityhub#AutomationRulesArnsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#NonEmptyString" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.securityhub#AutomationRulesConfig": { + "type": "structure", + "members": { + "RuleArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of a rule.\n

" + } + }, + "RuleStatus": { + "target": "com.amazonaws.securityhub#RuleStatus", + "traits": { + "smithy.api#documentation": "

\n Whether the rule is active after it is created. If \n this parameter is equal to >ENABLED, Security Hub will apply the rule to findings \n and finding updates after the rule is created.\n

" + } + }, + "RuleOrder": { + "target": "com.amazonaws.securityhub#RuleOrderValue", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

An integer ranging from 1 to 1000 that represents the order in which the rule action is\n applied to findings. Security Hub applies rules with lower values for this parameter\n first.

" + } + }, + "RuleName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the rule.\n

" + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n A description of the rule.\n

" + } + }, + "IsTerminal": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful \n when a finding matches the criteria for multiple rules, and each rule has different actions. If the value of this \n field is set to true for a rule, Security Hub applies the rule action to a finding that matches \n the rule criteria and won't evaluate other rules for the finding.\u2028 The default value of this field is false.\n

" + } + }, + "Criteria": { + "target": "com.amazonaws.securityhub#AutomationRulesFindingFilters", + "traits": { + "smithy.api#documentation": "

\n A set of Amazon Web Services Security Finding Format finding field attributes and corresponding expected values that \n Security Hub uses to filter findings. If a finding matches the conditions specified in\n this parameter, Security Hub applies the rule action to the finding.\n

" + } + }, + "Actions": { + "target": "com.amazonaws.securityhub#ActionList", + "traits": { + "smithy.api#documentation": "

\n One or more actions to update finding fields if a finding matches the defined criteria \n of the rule.\n

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#documentation": "

\n A timestamp that indicates when the rule was created.\n

\n

Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#documentation": "

\n A timestamp that indicates when the rule was most recently updated.\n

\n

Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

" + } + }, + "CreatedBy": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The principal that created a rule.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Defines the configuration of an automation rule.\n

" + } + }, + "com.amazonaws.securityhub#AutomationRulesConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#AutomationRulesConfig" + } + }, + "com.amazonaws.securityhub#AutomationRulesFindingFieldsUpdate": { + "type": "structure", + "members": { + "Note": { + "target": "com.amazonaws.securityhub#NoteUpdate" + }, + "Severity": { + "target": "com.amazonaws.securityhub#SeverityUpdate" + }, + "VerificationState": { + "target": "com.amazonaws.securityhub#VerificationState", + "traits": { + "smithy.api#documentation": "

\n The rule action will update the VerificationState field of a finding.\n

" + } + }, + "Confidence": { + "target": "com.amazonaws.securityhub#RatioScale", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The rule action will update the Confidence field of a finding.\n

" + } + }, + "Criticality": { + "target": "com.amazonaws.securityhub#RatioScale", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The rule action will update the Criticality field of a finding.\n

" + } + }, + "Types": { + "target": "com.amazonaws.securityhub#TypeList", + "traits": { + "smithy.api#documentation": "

\n The rule action will update the Types field of a finding.\n

" + } + }, + "UserDefinedFields": { + "target": "com.amazonaws.securityhub#FieldMap", + "traits": { + "smithy.api#documentation": "

\n The rule action will update the UserDefinedFields field of a finding.\n

" + } + }, + "Workflow": { + "target": "com.amazonaws.securityhub#WorkflowUpdate" + }, + "RelatedFindings": { + "target": "com.amazonaws.securityhub#RelatedFindingList", + "traits": { + "smithy.api#documentation": "

\n A list of findings that are related to a finding.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Identifies the finding fields that the automation rule action will update when a \n finding matches the defined criteria.\n

" + } + }, + "com.amazonaws.securityhub#AutomationRulesFindingFilters": { + "type": "structure", + "members": { + "ProductArn": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) for a third-party product that generated a finding in \n Security Hub.\n

" + } + }, + "AwsAccountId": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID in which a finding was generated.

" + } + }, + "Id": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The product-specific identifier for a finding.\n

" + } + }, + "GeneratorId": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The identifier for the solution-specific component that \n generated a finding.\n

" + } + }, + "Type": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

One or more finding types in the format of namespace/category/classifier that classify\n a finding. For a list of namespaces, classifiers, and categories, see Types\n taxonomy for ASFF in the Security Hub User Guide.

" + } + }, + "FirstObservedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", + "traits": { + "smithy.api#documentation": "

\n A timestamp that indicates when the potential security issue captured by a \n finding was first observed by the security findings product.\n

\n

Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

" + } + }, + "LastObservedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", + "traits": { + "smithy.api#documentation": "

\n A timestamp that indicates when the potential security issue captured by a finding \n was most recently observed by the security findings product.\n

\n

Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", + "traits": { + "smithy.api#documentation": "

\n A timestamp that indicates when this finding record was created.\n

\n

Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", + "traits": { + "smithy.api#documentation": "

\n A timestamp that indicates when the finding record was most recently updated. \n

\n

Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

" + } + }, + "Confidence": { + "target": "com.amazonaws.securityhub#NumberFilterList", + "traits": { + "smithy.api#documentation": "

The likelihood that a finding accurately identifies the behavior or issue that it was\n intended to identify. Confidence is scored on a 0–100 basis using a ratio\n scale. A value of 0 means 0 percent confidence, and a value of\n 100 means 100 percent confidence. For example, a data exfiltration\n detection based on a statistical deviation of network traffic has low confidence because an\n actual exfiltration hasn't been verified. For more information, see Confidence in the Security Hub User Guide.

" + } + }, + "Criticality": { + "target": "com.amazonaws.securityhub#NumberFilterList", + "traits": { + "smithy.api#documentation": "

\n The level of importance that is assigned to the resources that are associated with a \n finding. Criticality is scored on a 0–100 basis, using a ratio scale that supports \n only full integers. A score of 0 means that the underlying resources have no \n criticality, and a score of 100 is reserved for the most critical resources. For \n more information, see Criticality in the Security Hub User Guide.

" + } + }, + "Title": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n A finding's title. \n

" + } + }, + "Description": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n A finding's description. \n

" + } + }, + "SourceUrl": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n Provides a URL that links to a page about the current finding in the finding product.\n

" + } + }, + "ProductName": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n Provides the name of the product that generated the finding. For \n control-based findings, the product name is Security Hub.\n

" + } + }, + "CompanyName": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The name of the company for the product that generated the finding. \n For control-based findings, the company is Amazon Web Services.\n

" + } + }, + "SeverityLabel": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The severity value of the finding.\n

" + } + }, + "ResourceType": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The type of resource that the finding pertains to.\n

" + } + }, + "ResourceId": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The identifier for the given resource type. For Amazon Web Services resources that are identified by \n Amazon Resource Names (ARNs), this is the ARN. For Amazon Web Services resources that lack ARNs, \n this is the identifier as defined by the Amazon Web Service that created the resource. \n For non-Amazon Web Services resources, this is a unique identifier that is associated with the \n resource.\n

" + } + }, + "ResourcePartition": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The partition in which the resource that the finding pertains to is located. \n A partition is a group of Amazon Web Services Regions. Each Amazon Web Services account is scoped to one partition.\n

" + } + }, + "ResourceRegion": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The Amazon Web Services Region where the resource that a finding pertains to is located.\n

" + } + }, + "ResourceTags": { + "target": "com.amazonaws.securityhub#MapFilterList", + "traits": { + "smithy.api#documentation": "

\n A list of Amazon Web Services tags associated with a resource at the time the finding was processed.\n

" + } + }, + "ResourceDetailsOther": { + "target": "com.amazonaws.securityhub#MapFilterList", + "traits": { + "smithy.api#documentation": "

\n Custom fields and values about the resource that a finding pertains to.\n

" + } + }, + "ComplianceStatus": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The result of a security check. This field is only used for findings generated \n from controls.\n

" + } + }, + "ComplianceSecurityControlId": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

The security control ID for which a finding was generated. Security control IDs are the same across standards.

" + } + }, + "ComplianceAssociatedStandardsId": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

The unique identifier of a standard in which a control is enabled. This field consists of the resource portion of \n the Amazon Resource Name (ARN) returned for a standard in the DescribeStandards API response.

" + } + }, + "VerificationState": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n Provides the veracity of a finding.\n

" + } + }, + "WorkflowStatus": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n Provides information about the status of the investigation into a finding.\n

" + } + }, + "RecordState": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n Provides the current state of a finding.\n

" + } + }, + "RelatedFindingsProductArn": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The ARN for the product that generated a related finding.\n

" + } + }, + "RelatedFindingsId": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The product-generated identifier for a related finding.\n

" + } + }, + "NoteText": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The text of a user-defined note that's added to a finding.\n

" + } + }, + "NoteUpdatedAt": { + "target": "com.amazonaws.securityhub#DateFilterList", + "traits": { + "smithy.api#documentation": "

\n The timestamp of when the note was updated. Uses the date-time format specified in \n RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. \n For example, 2020-03-22T13:22:13.933Z.\n

" + } + }, + "NoteUpdatedBy": { + "target": "com.amazonaws.securityhub#StringFilterList", + "traits": { + "smithy.api#documentation": "

\n The principal that created a note.\n

" + } + }, + "UserDefinedFields": { + "target": "com.amazonaws.securityhub#MapFilterList", + "traits": { + "smithy.api#documentation": "

\n A list of user-defined name and value string pairs added to a finding.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The criteria that determine which findings a rule applies to.\n

" + } + }, + "com.amazonaws.securityhub#AutomationRulesMetadata": { + "type": "structure", + "members": { + "RuleArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) for the rule.\n

" + } + }, + "RuleStatus": { + "target": "com.amazonaws.securityhub#RuleStatus", + "traits": { + "smithy.api#documentation": "

\n Whether the rule is active after it is created. If \n this parameter is equal to ENABLED, Security Hub will apply the rule to findings \n and finding updates after the rule is created. To change the value of this\n parameter after creating a rule, use BatchUpdateAutomationRules.\n

" + } + }, + "RuleOrder": { + "target": "com.amazonaws.securityhub#RuleOrderValue", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

An integer ranging from 1 to 1000 that represents the order in which the rule action is\n applied to findings. Security Hub applies rules with lower values for this parameter\n first.

" + } + }, + "RuleName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the rule.\n

" + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n A description of the rule.\n

" + } + }, + "IsTerminal": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

\n Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful \n when a finding matches the criteria for multiple rules, and each rule has different actions. If the value of this \n field is set to true for a rule, Security Hub applies the rule action to a finding that matches \n the rule criteria and won't evaluate other rules for the finding.\u2028 The default value of this field is false.\n

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#documentation": "

\n A timestamp that indicates when the rule was created.\n

\n

Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

" } - } - } - }, - "com.amazonaws.securityhub#AutoEnableStandards": { - "type": "enum", - "members": { - "NONE": { - "target": "smithy.api#Unit", + }, + "UpdatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", "traits": { - "smithy.api#enumValue": "NONE" + "smithy.api#documentation": "

\n A timestamp that indicates when the rule was most recently updated.\n

\n

Uses the date-time format specified in RFC 3339 section 5.6, Internet\n Date/Time Format. The value cannot contain spaces. For example,\n 2020-03-22T13:22:13.933Z.

" } }, - "DEFAULT": { - "target": "smithy.api#Unit", + "CreatedBy": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#enumValue": "DEFAULT" + "smithy.api#documentation": "

\n The principal that created a rule.\n

" } } + }, + "traits": { + "smithy.api#documentation": "

\n Metadata for automation rules in the calling account. The response includes rules \n with a RuleStatus of ENABLED and DISABLED.\n

" + } + }, + "com.amazonaws.securityhub#AutomationRulesMetadataList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#AutomationRulesMetadata" } }, "com.amazonaws.securityhub#AvailabilityZone": { @@ -19115,6 +19595,75 @@ "smithy.api#documentation": "

Information about the encryption configuration for X-Ray.

" } }, + "com.amazonaws.securityhub#BatchDeleteAutomationRules": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#BatchDeleteAutomationRulesRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#BatchDeleteAutomationRulesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#InternalException" + }, + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Deletes one or more automation rules.\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/automationrules/delete", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#BatchDeleteAutomationRulesRequest": { + "type": "structure", + "members": { + "AutomationRulesArns": { + "target": "com.amazonaws.securityhub#AutomationRulesArnsList", + "traits": { + "smithy.api#documentation": "

\n A list of Amazon Resource Names (ARNs) for the rules that are to be deleted.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#BatchDeleteAutomationRulesResponse": { + "type": "structure", + "members": { + "ProcessedAutomationRules": { + "target": "com.amazonaws.securityhub#AutomationRulesArnsList", + "traits": { + "smithy.api#documentation": "

\n A list of properly processed rule ARNs.\n

" + } + }, + "UnprocessedAutomationRules": { + "target": "com.amazonaws.securityhub#UnprocessedAutomationRulesList", + "traits": { + "smithy.api#documentation": "

\n A list of objects containing RuleArn, ErrorCode, and ErrorMessage. This parameter \n tells you which automation rules the request didn't delete and why.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#BatchDisableStandards": { "type": "operation", "input": { @@ -19235,6 +19784,78 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#BatchGetAutomationRules": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#BatchGetAutomationRulesRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#BatchGetAutomationRulesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#InternalException" + }, + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Retrieves a list of details for automation rules based on rule Amazon Resource Names \n (ARNs).\n

", + "smithy.api#http": { + "method": "POST", + "uri": "/automationrules/get", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#BatchGetAutomationRulesRequest": { + "type": "structure", + "members": { + "AutomationRulesArns": { + "target": "com.amazonaws.securityhub#AutomationRulesArnsList", + "traits": { + "smithy.api#documentation": "

\n A list of rule ARNs to get details for.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#BatchGetAutomationRulesResponse": { + "type": "structure", + "members": { + "Rules": { + "target": "com.amazonaws.securityhub#AutomationRulesConfigList", + "traits": { + "smithy.api#documentation": "

\n A list of rule details for the provided rule ARNs.\n

" + } + }, + "UnprocessedAutomationRules": { + "target": "com.amazonaws.securityhub#UnprocessedAutomationRulesList", + "traits": { + "smithy.api#documentation": "

\n A list of objects containing RuleArn, ErrorCode, and ErrorMessage. This parameter \n tells you which automation rules the request didn't retrieve and why.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#BatchGetSecurityControls": { "type": "operation", "input": { @@ -19457,6 +20078,75 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#BatchUpdateAutomationRules": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#BatchUpdateAutomationRulesRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#BatchUpdateAutomationRulesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#InternalException" + }, + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Updates one or more automation rules based on rule Amazon Resource Names (ARNs) \n and input parameters.\n

", + "smithy.api#http": { + "method": "PATCH", + "uri": "/automationrules/update", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#BatchUpdateAutomationRulesRequest": { + "type": "structure", + "members": { + "UpdateAutomationRulesRequestItems": { + "target": "com.amazonaws.securityhub#UpdateAutomationRulesRequestItemsList", + "traits": { + "smithy.api#documentation": "

\n An array of ARNs for the rules that are to be updated. Optionally, you can also include \n RuleStatus and RuleOrder.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#BatchUpdateAutomationRulesResponse": { + "type": "structure", + "members": { + "ProcessedAutomationRules": { + "target": "com.amazonaws.securityhub#AutomationRulesArnsList", + "traits": { + "smithy.api#documentation": "

\n A list of properly processed rule ARNs.\n

" + } + }, + "UnprocessedAutomationRules": { + "target": "com.amazonaws.securityhub#UnprocessedAutomationRulesList", + "traits": { + "smithy.api#documentation": "

\n A list of objects containing RuleArn, ErrorCode, and ErrorMessage. This parameter \n tells you which automation rules the request didn't update and why.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#BatchUpdateFindings": { "type": "operation", "input": { @@ -19999,46 +20689,127 @@ "ENABLED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ENABLED" + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, + "com.amazonaws.securityhub#Country": { + "type": "structure", + "members": { + "CountryCode": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The 2-letter ISO 3166 country code for the country.

" + } + }, + "CountryName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The name of the country.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a country.

" + } + }, + "com.amazonaws.securityhub#CreateActionTarget": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#CreateActionTargetRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#CreateActionTargetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#InternalException" + }, + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + }, + { + "target": "com.amazonaws.securityhub#ResourceConflictException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a custom action target in Security Hub.

\n

You can use custom actions on findings and insights in Security Hub to trigger target actions\n in Amazon CloudWatch Events.

", + "smithy.api#http": { + "method": "POST", + "uri": "/actionTargets", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#CreateActionTargetRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The name of the custom action target. Can contain up to 20 characters.

", + "smithy.api#required": {} } }, - "DISABLED": { - "target": "smithy.api#Unit", + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#enumValue": "DISABLED" + "smithy.api#documentation": "

The description for the custom action target.

", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The ID for the custom action target. Can contain up to 20 alphanumeric characters.

", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.securityhub#Country": { + "com.amazonaws.securityhub#CreateActionTargetResponse": { "type": "structure", "members": { - "CountryCode": { - "target": "com.amazonaws.securityhub#NonEmptyString", - "traits": { - "smithy.api#documentation": "

The 2-letter ISO 3166 country code for the country.

" - } - }, - "CountryName": { + "ActionTargetArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

The name of the country.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the custom action target.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Information about a country.

" + "smithy.api#output": {} } }, - "com.amazonaws.securityhub#CreateActionTarget": { + "com.amazonaws.securityhub#CreateAutomationRule": { "type": "operation", "input": { - "target": "com.amazonaws.securityhub#CreateActionTargetRequest" + "target": "com.amazonaws.securityhub#CreateAutomationRuleRequest" }, "output": { - "target": "com.amazonaws.securityhub#CreateActionTargetResponse" + "target": "com.amazonaws.securityhub#CreateAutomationRuleResponse" }, "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, { "target": "com.amazonaws.securityhub#InternalException" }, @@ -20050,41 +20821,72 @@ }, { "target": "com.amazonaws.securityhub#LimitExceededException" - }, - { - "target": "com.amazonaws.securityhub#ResourceConflictException" } ], "traits": { - "smithy.api#documentation": "

Creates a custom action target in Security Hub.

\n

You can use custom actions on findings and insights in Security Hub to trigger target actions\n in Amazon CloudWatch Events.

", + "smithy.api#documentation": "

\n Creates an automation rule based on input parameters.\n

", "smithy.api#http": { "method": "POST", - "uri": "/actionTargets", + "uri": "/automationrules/create", "code": 200 } } }, - "com.amazonaws.securityhub#CreateActionTargetRequest": { + "com.amazonaws.securityhub#CreateAutomationRuleRequest": { "type": "structure", "members": { - "Name": { + "Tags": { + "target": "com.amazonaws.securityhub#TagMap", + "traits": { + "smithy.api#documentation": "

\n User-defined tags that help you label the purpose of a rule. \n

" + } + }, + "RuleStatus": { + "target": "com.amazonaws.securityhub#RuleStatus", + "traits": { + "smithy.api#documentation": "

\n Whether the rule is active after it is created. If \n this parameter is equal to Enabled, Security Hub will apply the rule to findings \n and finding updates after the rule is created. To change the value of this\n parameter after creating a rule, use BatchUpdateAutomationRules.\n

" + } + }, + "RuleOrder": { + "target": "com.amazonaws.securityhub#RuleOrderValue", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

An integer ranging from 1 to 1000 that represents the order in which the rule action is\n applied to findings. Security Hub applies rules with lower values for this parameter\n first.

", + "smithy.api#required": {} + } + }, + "RuleName": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

The name of the custom action target. Can contain up to 20 characters.

", + "smithy.api#documentation": "

\n The name of the rule.\n

", "smithy.api#required": {} } }, "Description": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

The description for the custom action target.

", + "smithy.api#documentation": "

\n A description of the rule.\n

", "smithy.api#required": {} } }, - "Id": { - "target": "com.amazonaws.securityhub#NonEmptyString", + "IsTerminal": { + "target": "com.amazonaws.securityhub#Boolean", "traits": { - "smithy.api#documentation": "

The ID for the custom action target. Can contain up to 20 alphanumeric characters.

", + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding \n matches the criteria for multiple rules, and each rule has different actions. If the value of this field is \n set to true for a rule, Security Hub applies the rule action to a finding that matches \n the rule criteria and won't evaluate other rules for the finding. The default value of this field is false.\n

" + } + }, + "Criteria": { + "target": "com.amazonaws.securityhub#AutomationRulesFindingFilters", + "traits": { + "smithy.api#documentation": "

\n A set of ASFF finding field attributes and corresponding expected values that \n Security Hub uses to filter findings. If a finding matches the conditions specified in\n this parameter, Security Hub applies the rule action to the finding.\n

", + "smithy.api#required": {} + } + }, + "Actions": { + "target": "com.amazonaws.securityhub#ActionList", + "traits": { + "smithy.api#documentation": "

\n One or more actions to update finding fields if a finding matches the conditions \n specified in Criteria. \n

", "smithy.api#required": {} } } @@ -20093,14 +20895,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.securityhub#CreateActionTargetResponse": { + "com.amazonaws.securityhub#CreateAutomationRuleResponse": { "type": "structure", "members": { - "ActionTargetArn": { + "RuleArn": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the custom action target.

", - "smithy.api#required": {} + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the automation rule that you created.\n

" } } }, @@ -23507,6 +24308,83 @@ "smithy.api#httpError": 429 } }, + "com.amazonaws.securityhub#ListAutomationRules": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#ListAutomationRulesRequest" + }, + "output": { + "target": "com.amazonaws.securityhub#ListAutomationRulesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#InternalException" + }, + { + "target": "com.amazonaws.securityhub#InvalidAccessException" + }, + { + "target": "com.amazonaws.securityhub#InvalidInputException" + }, + { + "target": "com.amazonaws.securityhub#LimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

\n A list of automation rules and their metadata for the calling account.\n

", + "smithy.api#http": { + "method": "GET", + "uri": "/automationrules/list", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#ListAutomationRulesRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

\n A token to specify where to start paginating the response. This is the NextToken \n from a previously truncated response. On your first call to the ListAutomationRules \n API, set the value of this parameter to NULL.\n

", + "smithy.api#httpQuery": "NextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.securityhub#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of rules to return in the response. This currently ranges from 1 to\n 100.

", + "smithy.api#httpQuery": "MaxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#ListAutomationRulesResponse": { + "type": "structure", + "members": { + "AutomationRulesMetadata": { + "target": "com.amazonaws.securityhub#AutomationRulesMetadataList", + "traits": { + "smithy.api#documentation": "

\n Metadata for rules in the calling account. The response includes rules with a \n RuleStatus of ENABLED and DISABLED.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

\n A pagination token for the response.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#ListEnabledProductsForImport": { "type": "operation", "input": { @@ -26640,6 +27518,33 @@ "smithy.api#documentation": "

A list of port ranges.

" } }, + "com.amazonaws.securityhub#RuleOrderValue": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.securityhub#RuleStatus": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, "com.amazonaws.securityhub#SecurityControl": { "type": "structure", "members": { @@ -26775,12 +27680,18 @@ { "target": "com.amazonaws.securityhub#AcceptInvitation" }, + { + "target": "com.amazonaws.securityhub#BatchDeleteAutomationRules" + }, { "target": "com.amazonaws.securityhub#BatchDisableStandards" }, { "target": "com.amazonaws.securityhub#BatchEnableStandards" }, + { + "target": "com.amazonaws.securityhub#BatchGetAutomationRules" + }, { "target": "com.amazonaws.securityhub#BatchGetSecurityControls" }, @@ -26790,6 +27701,9 @@ { "target": "com.amazonaws.securityhub#BatchImportFindings" }, + { + "target": "com.amazonaws.securityhub#BatchUpdateAutomationRules" + }, { "target": "com.amazonaws.securityhub#BatchUpdateFindings" }, @@ -26799,6 +27713,9 @@ { "target": "com.amazonaws.securityhub#CreateActionTarget" }, + { + "target": "com.amazonaws.securityhub#CreateAutomationRule" + }, { "target": "com.amazonaws.securityhub#CreateFindingAggregator" }, @@ -26904,6 +27821,9 @@ { "target": "com.amazonaws.securityhub#InviteMembers" }, + { + "target": "com.amazonaws.securityhub#ListAutomationRules" + }, { "target": "com.amazonaws.securityhub#ListEnabledProductsForImport" }, @@ -29294,6 +30214,39 @@ "target": "com.amazonaws.securityhub#NonEmptyString" } }, + "com.amazonaws.securityhub#UnprocessedAutomationRule": { + "type": "structure", + "members": { + "RuleArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) for the unprocessed automation rule.\n

" + } + }, + "ErrorCode": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

\n The error code associated with the unprocessed automation rule.\n

" + } + }, + "ErrorMessage": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n An error message describing why a request didn't process a specific rule.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n A list of objects containing RuleArn, ErrorCode, and ErrorMessage. This parameter \n tells you which automation rules the request didn't process and why.\n

" + } + }, + "com.amazonaws.securityhub#UnprocessedAutomationRulesList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#UnprocessedAutomationRule" + } + }, "com.amazonaws.securityhub#UnprocessedErrorCode": { "type": "enum", "members": { @@ -29550,6 +30503,77 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#UpdateAutomationRulesRequestItem": { + "type": "structure", + "members": { + "RuleArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) for the rule.\n

", + "smithy.api#required": {} + } + }, + "RuleStatus": { + "target": "com.amazonaws.securityhub#RuleStatus", + "traits": { + "smithy.api#documentation": "

\n Whether the rule is active after it is created. If \n this parameter is equal to ENABLED, Security Hub will apply the rule to findings \n and finding updates after the rule is created. To change the value of this\n parameter after creating a rule, use BatchUpdateAutomationRules.\n

" + } + }, + "RuleOrder": { + "target": "com.amazonaws.securityhub#RuleOrderValue", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

An integer ranging from 1 to 1000 that represents the order in which the rule action is\n applied to findings. Security Hub applies rules with lower values for this parameter\n first.

" + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n A description of the rule.\n

" + } + }, + "RuleName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

\n The name of the rule.\n

" + } + }, + "IsTerminal": { + "target": "com.amazonaws.securityhub#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful \n when a finding matches the criteria for multiple rules, and each rule has different actions. If the value of this \n field is set to true for a rule, Security Hub applies the rule action to a finding that matches \n the rule criteria and won't evaluate other rules for the finding.\u2028 The default value of this field is false.\n

" + } + }, + "Criteria": { + "target": "com.amazonaws.securityhub#AutomationRulesFindingFilters", + "traits": { + "smithy.api#documentation": "

\n A set of ASFF finding field attributes and corresponding expected values that \n Security Hub uses to filter findings. If a finding matches the conditions specified in\n this parameter, Security Hub applies the rule action to the finding.\n

" + } + }, + "Actions": { + "target": "com.amazonaws.securityhub#ActionList", + "traits": { + "smithy.api#documentation": "

\n One or more actions to update finding fields if a finding matches the conditions \n specified in Criteria.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Specifies the parameters to update in an existing automation rule.\n

" + } + }, + "com.amazonaws.securityhub#UpdateAutomationRulesRequestItemsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#UpdateAutomationRulesRequestItem" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.securityhub#UpdateFindingAggregator": { "type": "operation", "input": { diff --git a/codegen/sdk-codegen/aws-models/simspaceweaver.json b/codegen/sdk-codegen/aws-models/simspaceweaver.json index 6b8e254a1ce..3f8be46b535 100644 --- a/codegen/sdk-codegen/aws-models/simspaceweaver.json +++ b/codegen/sdk-codegen/aws-models/simspaceweaver.json @@ -162,7 +162,7 @@ "Destination": { "target": "com.amazonaws.simspaceweaver#S3Destination", "traits": { - "smithy.api#documentation": "

The Amazon S3 bucket and optional folder (object key prefix) where SimSpace Weaver creates the snapshot file.

", + "smithy.api#documentation": "

The Amazon S3 bucket and optional folder (object key prefix) where SimSpace Weaver creates the snapshot file.

\n

The Amazon S3 bucket must be in the same Amazon Web Services Region as the simulation.

", "smithy.api#required": {} } } @@ -911,7 +911,7 @@ "min": 0, "max": 1600 }, - "smithy.api#pattern": "^arn:(?:aws|aws-cn):log-group:([a-z]{2}-[a-z]+-\\d{1}):(\\d{12})?:role\\/(.+)$" + "smithy.api#pattern": "^arn:(?:aws|aws-cn|aws-us-gov):log-group:([a-z]{2}-[a-z]+-\\d{1}):(\\d{12})?:role\\/(.+)$" } }, "com.amazonaws.simspaceweaver#LoggingConfiguration": { @@ -995,7 +995,7 @@ "min": 0, "max": 1600 }, - "smithy.api#pattern": "^arn:(?:aws|aws-cn):iam::(\\d{12})?:role\\/(.+)$" + "smithy.api#pattern": "^arn:(?:aws|aws-cn|aws-us-gov):iam::(\\d{12})?:role\\/(.+)$" } }, "com.amazonaws.simspaceweaver#S3Destination": { @@ -1472,9 +1472,9 @@ } }, "params": { - "Region": "us-gov-east-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-gov-east-1" } }, { @@ -1485,9 +1485,9 @@ } }, "params": { - "Region": "us-gov-east-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-gov-east-1" } }, { @@ -1498,9 +1498,9 @@ } }, "params": { - "Region": "us-gov-east-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-gov-east-1" } }, { @@ -1511,9 +1511,9 @@ } }, "params": { - "Region": "us-gov-east-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-gov-east-1" } }, { @@ -1524,9 +1524,9 @@ } }, "params": { - "Region": "cn-north-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "cn-north-1" } }, { @@ -1537,9 +1537,9 @@ } }, "params": { - "Region": "cn-north-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "cn-north-1" } }, { @@ -1550,9 +1550,9 @@ } }, "params": { - "Region": "cn-north-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "cn-north-1" } }, { @@ -1563,9 +1563,9 @@ } }, "params": { - "Region": "cn-north-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "cn-north-1" } }, { @@ -1574,9 +1574,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-iso-east-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-iso-east-1" } }, { @@ -1587,9 +1587,9 @@ } }, "params": { - "Region": "us-iso-east-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-iso-east-1" } }, { @@ -1598,9 +1598,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-iso-east-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-iso-east-1" } }, { @@ -1611,9 +1611,9 @@ } }, "params": { - "Region": "us-iso-east-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-iso-east-1" } }, { @@ -1624,9 +1624,9 @@ } }, "params": { - "Region": "us-east-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-east-1" } }, { @@ -1637,9 +1637,9 @@ } }, "params": { - "Region": "us-east-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-east-1" } }, { @@ -1650,9 +1650,9 @@ } }, "params": { - "Region": "us-east-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-east-1" } }, { @@ -1663,9 +1663,9 @@ } }, "params": { - "Region": "us-east-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-east-1" } }, { @@ -1674,9 +1674,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-isob-east-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": true + "Region": "us-isob-east-1" } }, { @@ -1687,9 +1687,9 @@ } }, "params": { - "Region": "us-isob-east-1", + "UseDualStack": false, "UseFIPS": true, - "UseDualStack": false + "Region": "us-isob-east-1" } }, { @@ -1698,9 +1698,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-isob-east-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": true + "Region": "us-isob-east-1" } }, { @@ -1711,9 +1711,9 @@ } }, "params": { - "Region": "us-isob-east-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-isob-east-1" } }, { @@ -1724,9 +1724,9 @@ } }, "params": { - "Region": "us-east-1", - "UseFIPS": false, "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1736,9 +1736,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseFIPS": true, "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1748,9 +1748,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", - "UseFIPS": false, "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } } @@ -1766,7 +1766,7 @@ "min": 0, "max": 1600 }, - "smithy.api#pattern": "^arn:(?:aws|aws-cn):simspaceweaver:([a-z]{2}-[a-z]+-\\d{1}):(\\d{12})?:([a-z]+)\\/(.+)$" + "smithy.api#pattern": "^arn:(?:aws|aws-cn|aws-us-gov):simspaceweaver:([a-z]{2}-[a-z]+-\\d{1}):(\\d{12})?:([a-z]+)\\/(.+)$" } }, "com.amazonaws.simspaceweaver#SimSpaceWeaverLongResourceName": { @@ -2361,7 +2361,7 @@ "SnapshotS3Location": { "target": "com.amazonaws.simspaceweaver#S3Location", "traits": { - "smithy.api#documentation": "

The location of the snapshot .zip file in Amazon Simple Storage Service (Amazon S3).\n For more information about Amazon S3, see the \n Amazon Simple Storage Service User Guide\n .

\n

Provide a SnapshotS3Location to start your simulation from a snapshot.

\n

If you provide a SnapshotS3Location then you can't provide a SchemaS3Location.

" + "smithy.api#documentation": "

The location of the snapshot .zip file in Amazon Simple Storage Service (Amazon S3).\n For more information about Amazon S3, see the \n Amazon Simple Storage Service User Guide\n .

\n

Provide a SnapshotS3Location to start your simulation from a snapshot.

\n

The Amazon S3 bucket must be in the same Amazon Web Services Region as the simulation.

\n

If you provide a SnapshotS3Location then you can't provide a SchemaS3Location.

" } } } diff --git a/codegen/sdk-codegen/aws-models/verifiedpermissions.json b/codegen/sdk-codegen/aws-models/verifiedpermissions.json new file mode 100644 index 00000000000..4a1ea83e97f --- /dev/null +++ b/codegen/sdk-codegen/aws-models/verifiedpermissions.json @@ -0,0 +1,4314 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.verifiedpermissions#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

You don't have sufficient access to perform this action.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.verifiedpermissions#ActionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.verifiedpermissions#ActionIdentifier": { + "type": "structure", + "members": { + "actionType": { + "target": "com.amazonaws.verifiedpermissions#ActionType", + "traits": { + "smithy.api#documentation": "

The type of an action.

", + "smithy.api#required": {} + } + }, + "actionId": { + "target": "com.amazonaws.verifiedpermissions#ActionId", + "traits": { + "smithy.api#documentation": "

The ID of an action.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about an action for a request for which an authorization decision\n is made.

\n

This data type is used as an request parameter to the IsAuthorized and IsAuthorizedWithToken operations.

\n

Example: { \"actionId\": \"<action name>\", \"actionType\": \"Action\"\n }\n

" + } + }, + "com.amazonaws.verifiedpermissions#ActionType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^Action$|^.+::Action$" + } + }, + "com.amazonaws.verifiedpermissions#AttributeValue": { + "type": "union", + "members": { + "boolean": { + "target": "com.amazonaws.verifiedpermissions#BooleanAttribute", + "traits": { + "smithy.api#documentation": "

An attribute value of Boolean\n type.

\n

Example: {\"boolean\": true}\n

" + } + }, + "entityIdentifier": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

An attribute value of type EntityIdentifier.

\n

Example: \"entityIdentifier\": { \"entityId\": \"<id>\", \"entityType\":\n \"<entity type>\"}\n

" + } + }, + "long": { + "target": "com.amazonaws.verifiedpermissions#LongAttribute", + "traits": { + "smithy.api#documentation": "

An attribute value of Long\n type.

\n

Example: {\"long\": 0}\n

" + } + }, + "string": { + "target": "com.amazonaws.verifiedpermissions#StringAttribute", + "traits": { + "smithy.api#documentation": "

An attribute value of String\n type.

\n

Example: {\"string\": \"abc\"}\n

" + } + }, + "set": { + "target": "com.amazonaws.verifiedpermissions#SetAttribute", + "traits": { + "smithy.api#documentation": "

An attribute value of Set\n type.

\n

Example: {\"set\": [ {} ] }\n

" + } + }, + "record": { + "target": "com.amazonaws.verifiedpermissions#RecordAttribute", + "traits": { + "smithy.api#documentation": "

An attribute value of Record\n type.

\n

Example: {\"record\": { \"keyName\": {} } }\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The value of an attribute.

\n

Contains information about the runtime context for a request for which an\n authorization decision is made.

\n

This data type is used as a member of the ContextDefinition structure\n which is uses as a request parameter for the IsAuthorized and IsAuthorizedWithToken operations.

" + } + }, + "com.amazonaws.verifiedpermissions#BooleanAttribute": { + "type": "boolean" + }, + "com.amazonaws.verifiedpermissions#ClientId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.verifiedpermissions#ClientIds": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#ClientId" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1000 + } + } + }, + "com.amazonaws.verifiedpermissions#CognitoUserPoolConfiguration": { + "type": "structure", + "members": { + "userPoolArn": { + "target": "com.amazonaws.verifiedpermissions#UserPoolArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Cognito user pool that contains the identities to be\n authorized.

\n

Example: \"UserPoolArn\":\n \"cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\"\n

", + "smithy.api#required": {} + } + }, + "clientIds": { + "target": "com.amazonaws.verifiedpermissions#ClientIds", + "traits": { + "smithy.api#documentation": "

The unique application client IDs that are associated with the specified Amazon Cognito user\n pool.

\n

Example: \"ClientIds\": [\"&ExampleCogClientId;\"]\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration for an identity source that represents a connection to an Amazon Cognito user pool used\n as an identity provider for Verified Permissions.

\n

This data type is used as a field that is part of an Configuration structure that is\n used as a parameter to the Configuration.

\n

Example:\"CognitoUserPoolConfiguration\":{\"UserPoolArn\":\"cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"ClientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"]}\n

" + } + }, + "com.amazonaws.verifiedpermissions#Configuration": { + "type": "union", + "members": { + "cognitoUserPoolConfiguration": { + "target": "com.amazonaws.verifiedpermissions#CognitoUserPoolConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details of a Amazon Cognito user pool that Verified Permissions can use as a source of\n authenticated identities as entities. It specifies the Amazon Resource Name (ARN) of a Amazon Cognito user pool\n and one or more application client IDs.

\n

Example:\n \"configuration\":{\"cognitoUserPoolConfiguration\":{\"userPoolArn\":\"cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5\",\"clientIds\":\n [\"a1b2c3d4e5f6g7h8i9j0kalbmc\"]}}\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configuration information used when creating a new identity source.

\n \n

At this time, the only valid member of this structure is a Amazon Cognito user pool\n configuration.

\n

You must specify a userPoolArn, and optionally, a\n ClientId.

\n
\n

This data type is used as a request parameter for the CreateIdentitySource\n operation.

" + } + }, + "com.amazonaws.verifiedpermissions#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resources": { + "target": "com.amazonaws.verifiedpermissions#ResourceConflictList", + "traits": { + "smithy.api#documentation": "

The list of resources referenced with this failed request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request failed because another request to modify a resource occurred at the\n same.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.verifiedpermissions#ContextDefinition": { + "type": "union", + "members": { + "contextMap": { + "target": "com.amazonaws.verifiedpermissions#ContextMap", + "traits": { + "smithy.api#documentation": "

An list of attributes that are needed to successfully evaluate an authorization\n request. Each attribute in this array must include a map of a data type and its\n value.

\n

Example:\n \"Context\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains additional details about the context of the request. Verified Permissions evaluates this\n information in an authorization request as part of the when and\n unless clauses in a policy.

\n

This data type is used as a request parameter for the IsAuthorized and IsAuthorizedWithToken operations.

\n

Example:\n \"context\":{\"Context\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}}\n

" + } + }, + "com.amazonaws.verifiedpermissions#ContextMap": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "com.amazonaws.verifiedpermissions#AttributeValue" + }, + "traits": { + "smithy.api#length": { + "min": 0 + } + } + }, + "com.amazonaws.verifiedpermissions#CreateIdentitySource": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#CreateIdentitySourceInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#CreateIdentitySourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to create a reference to an external identity provider (IdP) that is compatible with OpenID Connect (OIDC) authentication protocol, such as Amazon Cognito", + "smithy.api#documentation": "

Creates a reference to an Amazon Cognito user pool as an external identity provider (IdP).\n

\n

After you create an identity source, you can use the identities provided by the IdP as proxies\n for the principal in authorization queries that use the IsAuthorizedWithToken\n operation. These identities take the form of tokens that contain claims about the user,\n such as IDs, attributes and group memberships. Amazon Cognito provides both identity tokens and\n access tokens, and Verified Permissions can use either or both. Any combination of identity and access\n tokens results in the same Cedar principal. Verified Permissions automatically translates the\n information about the identities into the standard Cedar attributes that can be\n evaluated by your policies. Because the Amazon Cognito identity and access tokens can contain\n different information, the tokens you choose to use determine which principal attributes\n are available to access when evaluating Cedar policies.

\n \n

If you delete a Amazon Cognito user pool or user, tokens from that deleted pool or that deleted user continue to be usable until they expire.

\n
\n \n

To reference a user from this identity source in your Cedar policies, use the following\n syntax.

\n

\n IdentityType::\"<CognitoUserPoolIdentifier>|<CognitoClientId>\n

\n

Where IdentityType is the string that you provide to the\n PrincipalEntityType parameter for this operation. The\n CognitoUserPoolId and CognitoClientId are defined by\n the Amazon Cognito user pool.

\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#CreateIdentitySourceInput": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.verifiedpermissions#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

Specifies a unique, case-sensitive ID that you provide to\n ensure the idempotency of the request. This lets you safely retry the request without\n accidentally performing the same operation a second time. Passing the same value to a\n later call to an operation requires that you also pass the same value for all other \n parameters. We recommend that you use a UUID type of \n value..

\n

If you don't provide this value, then Amazon Web Services generates a random one for\n you.

\n

If you retry the operation with the same ClientToken, but with \n different parameters, the retry fails with an IdempotentParameterMismatch\n error.

", + "smithy.api#idempotencyToken": {} + } + }, + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store in which you want to store this identity source. Only policies and\n requests made using this policy store can reference identities from the identity provider\n configured in the new identity source.

", + "smithy.api#required": {} + } + }, + "configuration": { + "target": "com.amazonaws.verifiedpermissions#Configuration", + "traits": { + "smithy.api#documentation": "

Specifies the details required to communicate with the identity provider (IdP)\n associated with this identity source.

\n \n

At this time, the only valid member of this structure is a Amazon Cognito user pool\n configuration.

\n

You must specify a UserPoolArn, and optionally, a\n ClientId.

\n
", + "smithy.api#required": {} + } + }, + "principalEntityType": { + "target": "com.amazonaws.verifiedpermissions#PrincipalEntityType", + "traits": { + "smithy.api#documentation": "

Specifies the namespace and data type of the principals generated for identities\n authenticated by the new identity source.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#CreateIdentitySourceOutput": { + "type": "structure", + "members": { + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the identity source was originally created.

", + "smithy.api#required": {} + } + }, + "identitySourceId": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceId", + "traits": { + "smithy.api#documentation": "

The unique ID of the new identity source.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the identity source was most recently updated.

", + "smithy.api#required": {} + } + }, + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the identity source.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#CreatePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#CreatePolicyInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#CreatePolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to create a Cedar policy and save it in the specified policy store", + "smithy.api#documentation": "

Creates a Cedar policy and saves it in the specified policy store. You can create either a\n static policy or a policy linked to a policy template.

\n \n \n

Creating a policy causes it to be validated against the schema in the policy store. If the\n policy doesn't pass validation, the operation fails and the policy isn't\n stored.

\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#CreatePolicyInput": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.verifiedpermissions#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

Specifies a unique, case-sensitive ID that you provide to\n ensure the idempotency of the request. This lets you safely retry the request without\n accidentally performing the same operation a second time. Passing the same value to a\n later call to an operation requires that you also pass the same value for all other \n parameters. We recommend that you use a UUID type of \n value..

\n

If you don't provide this value, then Amazon Web Services generates a random one for\n you.

\n

If you retry the operation with the same ClientToken, but with \n different parameters, the retry fails with an IdempotentParameterMismatch\n error.

", + "smithy.api#idempotencyToken": {} + } + }, + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the PolicyStoreId of the policy store you want to store the policy\n in.

", + "smithy.api#required": {} + } + }, + "definition": { + "target": "com.amazonaws.verifiedpermissions#PolicyDefinition", + "traits": { + "smithy.api#documentation": "

A structure that specifies the policy type and content to use for the new policy. You\n must include either a static or a templateLinked element. The policy content must be written\n in the Cedar policy language.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#CreatePolicyOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the new policy.

", + "smithy.api#required": {} + } + }, + "policyId": { + "target": "com.amazonaws.verifiedpermissions#PolicyId", + "traits": { + "smithy.api#documentation": "

The unique ID of the new policy.

", + "smithy.api#required": {} + } + }, + "policyType": { + "target": "com.amazonaws.verifiedpermissions#PolicyType", + "traits": { + "smithy.api#documentation": "

The policy type of the new policy.

", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The principal specified in the new policy's scope. This response element isn't present\n when principal isn't specified in the policy content.

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The resource specified in the new policy's scope. This response element isn't present\n when the resource isn't specified in the policy content.

" + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the policy was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the policy was last updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#CreatePolicyStore": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#CreatePolicyStoreInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#CreatePolicyStoreOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to create a Cedar policy and save it in the specified policy store", + "smithy.api#documentation": "

Creates a policy store. A policy store is a container for policy resources.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#CreatePolicyStoreInput": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.verifiedpermissions#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

Specifies a unique, case-sensitive ID that you provide to\n ensure the idempotency of the request. This lets you safely retry the request without\n accidentally performing the same operation a second time. Passing the same value to a\n later call to an operation requires that you also pass the same value for all other \n parameters. We recommend that you use a UUID type of \n value..

\n

If you don't provide this value, then Amazon Web Services generates a random one for\n you.

\n

If you retry the operation with the same ClientToken, but with \n different parameters, the retry fails with an IdempotentParameterMismatch\n error.

", + "smithy.api#idempotencyToken": {} + } + }, + "validationSettings": { + "target": "com.amazonaws.verifiedpermissions#ValidationSettings", + "traits": { + "smithy.api#documentation": "

Specifies the validation setting for this policy store.

\n

Currently, the only valid and required value is Mode.

\n \n

We recommend that you turn on STRICT mode only after you define a\n schema. If a schema doesn't exist, then STRICT mode causes any policy\n to fail validation, and Verified Permissions rejects the policy. You can turn off validation by\n using the UpdatePolicyStore. Then, when you have a schema defined, use UpdatePolicyStore again to turn validation back on.

\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#CreatePolicyStoreOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The unique ID of the new policy store.

", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.verifiedpermissions#ResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the new policy store.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the policy store was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the policy store was last updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#CreatePolicyTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#CreatePolicyTemplateInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#CreatePolicyTemplateOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to create a policy template", + "smithy.api#documentation": "

Creates a policy template. A template can use placeholders for the principal and resource. A\n template must be instantiated into a policy by associating it with specific principals\n and resources to use for the placeholders. That instantiated policy can then be\n considered in authorization decisions. The instantiated policy works identically to any\n other policy, except that it is dynamically linked to the template. If the template\n changes, then any policies that are linked to that template are immediately updated as\n well.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#CreatePolicyTemplateInput": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.verifiedpermissions#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

Specifies a unique, case-sensitive ID that you provide to\n ensure the idempotency of the request. This lets you safely retry the request without\n accidentally performing the same operation a second time. Passing the same value to a\n later call to an operation requires that you also pass the same value for all other \n parameters. We recommend that you use a UUID type of \n value..

\n

If you don't provide this value, then Amazon Web Services generates a random one for\n you.

\n

If you retry the operation with the same ClientToken, but with \n different parameters, the retry fails with an IdempotentParameterMismatch\n error.

", + "smithy.api#idempotencyToken": {} + } + }, + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store in which to create the policy template.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateDescription", + "traits": { + "smithy.api#documentation": "

Specifies a description for the policy template.

" + } + }, + "statement": { + "target": "com.amazonaws.verifiedpermissions#PolicyStatement", + "traits": { + "smithy.api#documentation": "

Specifies the content that you want to use for the new policy template, written in the Cedar\n policy language.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#CreatePolicyTemplateOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the policy template.

", + "smithy.api#required": {} + } + }, + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

The unique ID of the new policy template.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the policy template was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the policy template was most recently updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#Decision": { + "type": "enum", + "members": { + "ALLOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALLOW" + } + }, + "DENY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DENY" + } + } + } + }, + "com.amazonaws.verifiedpermissions#DeleteIdentitySource": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#DeleteIdentitySourceInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#DeleteIdentitySourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ConflictException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete an identity source that references an identity provider (IdP) such as Amazon Cognito", + "smithy.api#documentation": "

Deletes an identity source that references an identity provider (IdP) such as Amazon Cognito. After\n you delete the identity source, you can no longer use tokens for identities from that identity source to\n represent principals in authorization queries made using IsAuthorizedWithToken.\n operations.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#DeleteIdentitySourceInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the identity source that you want to delete.

", + "smithy.api#required": {} + } + }, + "identitySourceId": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the identity source that you want to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#DeleteIdentitySourceOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#DeletePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#DeletePolicyInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#DeletePolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ConflictException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete the specified policy from the policy store", + "smithy.api#documentation": "

Deletes the specified policy from the policy store.

\n

This operation is idempotent; if you specify a policy that doesn't \n exist, the request response returns a successful HTTP 200 status code.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#DeletePolicyInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the policy that you want to delete.

", + "smithy.api#required": {} + } + }, + "policyId": { + "target": "com.amazonaws.verifiedpermissions#PolicyId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy that you want to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#DeletePolicyOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#DeletePolicyStore": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#DeletePolicyStoreInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#DeletePolicyStoreOutput" + }, + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete the specified policy store", + "smithy.api#documentation": "

Deletes the specified policy store.

\n

This operation is idempotent. If you specify a policy store that does not exist, the request\n response will still return a successful HTTP 200 status code.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#DeletePolicyStoreInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that you want to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#DeletePolicyStoreOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#DeletePolicyTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#DeletePolicyTemplateInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#DeletePolicyTemplateOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ConflictException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to delete the specified policy template from the policy store", + "smithy.api#documentation": "

Deletes the specified policy template from the policy store.

\n \n

This operation also deletes any policies that were created from the specified\n policy template. Those policies are immediately removed from all future API responses, and are\n asynchronously deleted from the policy store.

\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#DeletePolicyTemplateInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the policy template that you want to delete.

", + "smithy.api#required": {} + } + }, + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy template that you want to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#DeletePolicyTemplateOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#DeterminingPolicyItem": { + "type": "structure", + "members": { + "policyId": { + "target": "com.amazonaws.verifiedpermissions#PolicyId", + "traits": { + "smithy.api#documentation": "

The Id of a policy that determined to an authorization decision.

\n

Example: \"policyId\":\"SPEXAMPLEabcdefg111111\"\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about one of the policies that determined an authorization\n decision.

\n

This data type is used as an element in a response parameter for the IsAuthorized\n and IsAuthorizedWithToken operations.

\n

Example: \"determiningPolicies\":[{\"policyId\":\"SPEXAMPLEabcdefg111111\"}]\n

" + } + }, + "com.amazonaws.verifiedpermissions#DeterminingPolicyList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#DeterminingPolicyItem" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.verifiedpermissions#DiscoveryUrl": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^https://.*$" + } + }, + "com.amazonaws.verifiedpermissions#EntitiesDefinition": { + "type": "union", + "members": { + "entityList": { + "target": "com.amazonaws.verifiedpermissions#EntityList", + "traits": { + "smithy.api#documentation": "

An array of entities that are needed to successfully evaluate an authorization\n request. Each entity in this array must include an identifier for the entity, the\n attributes of the entity, and a list of any parent entities.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the list of entities to be considered during an authorization request. This\n includes all principals, resources, and actions required to successfully evaluate the\n request.

\n

This data type is used as a field in the response parameter for the IsAuthorized\n and IsAuthorizedWithToken operations.

" + } + }, + "com.amazonaws.verifiedpermissions#EntityAttributes": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "com.amazonaws.verifiedpermissions#AttributeValue" + }, + "traits": { + "smithy.api#length": { + "min": 0 + } + } + }, + "com.amazonaws.verifiedpermissions#EntityId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.verifiedpermissions#EntityIdentifier": { + "type": "structure", + "members": { + "entityType": { + "target": "com.amazonaws.verifiedpermissions#EntityType", + "traits": { + "smithy.api#documentation": "

The type of an entity.

\n

Example: \"entityType\":\"typeName\"\n

", + "smithy.api#required": {} + } + }, + "entityId": { + "target": "com.amazonaws.verifiedpermissions#EntityId", + "traits": { + "smithy.api#documentation": "

The identifier of an entity.

\n

\n \"entityId\":\"identifier\"\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the identifier of an entity, including its ID and type.

\n

This data type is used as a request parameter for IsAuthorized operation, and as a\n response parameter for the CreatePolicy, GetPolicy, and\n UpdatePolicy operations.

\n

Example:\n {\"entityId\":\"string\",\"entityType\":\"string\"}\n

" + } + }, + "com.amazonaws.verifiedpermissions#EntityItem": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The identifier of the entity.

", + "smithy.api#required": {} + } + }, + "attributes": { + "target": "com.amazonaws.verifiedpermissions#EntityAttributes", + "traits": { + "smithy.api#documentation": "

A list of attributes for the entity.

" + } + }, + "parents": { + "target": "com.amazonaws.verifiedpermissions#ParentList", + "traits": { + "smithy.api#documentation": "

The parents in the hierarchy that contains the entity.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about an entity that can be referenced in a Cedar\n policy.

\n

This data type is used as one of the fields in the EntitiesDefinition\n structure.

\n

\n {\n \"id\": {\n \"entityType\": \"Photo\",\n \"entityId\": \"VacationPhoto94.jpg\"\n },\n \"Attributes\": {},\n \"Parents\": [\n {\n \"entityType\": \"Album\",\n \"entityId\": \"alice_folder\"\n }\n ]\n}\n

" + } + }, + "com.amazonaws.verifiedpermissions#EntityList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#EntityItem" + }, + "traits": { + "smithy.api#length": { + "min": 0 + } + } + }, + "com.amazonaws.verifiedpermissions#EntityReference": { + "type": "union", + "members": { + "unspecified": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Used to indicate that a principal or resource is not specified. This can be used to\n search for policies that are not associated with a specific principal or\n resource.

" + } + }, + "identifier": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The identifier of the entity. It can consist of either an EntityType and EntityId, a\n principal, or a resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a principal or resource that can be referenced in a Cedar\n policy.

\n

This data type is used as part of the PolicyFilter structure that is\n used as a request parameter for the ListPolicies operation..

" + } + }, + "com.amazonaws.verifiedpermissions#EntityType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.verifiedpermissions#EvaluationErrorItem": { + "type": "structure", + "members": { + "errorDescription": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The error description.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains a description of an evaluation error.

\n

This data type is used as a request parameter in the IsAuthorized and IsAuthorizedWithToken operations.

" + } + }, + "com.amazonaws.verifiedpermissions#EvaluationErrorList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#EvaluationErrorItem" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.verifiedpermissions#GetIdentitySource": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#GetIdentitySourceInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#GetIdentitySourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve the details about the specified identity source", + "smithy.api#documentation": "

Retrieves the details about the specified identity source.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#GetIdentitySourceInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the identity source you want information about.

", + "smithy.api#required": {} + } + }, + "identitySourceId": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the identity source you want information about.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#GetIdentitySourceOutput": { + "type": "structure", + "members": { + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The date and time that the identity source was originally created.

", + "smithy.api#required": {} + } + }, + "details": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceDetails", + "traits": { + "smithy.api#documentation": "

A structure that describes the configuration of the identity source.

", + "smithy.api#required": {} + } + }, + "identitySourceId": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceId", + "traits": { + "smithy.api#documentation": "

The ID of the identity source.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The date and time that the identity source was most recently updated.

", + "smithy.api#required": {} + } + }, + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the identity source.

", + "smithy.api#required": {} + } + }, + "principalEntityType": { + "target": "com.amazonaws.verifiedpermissions#PrincipalEntityType", + "traits": { + "smithy.api#documentation": "

The data type of principals generated for identities authenticated by this\n identity source.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#GetPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#GetPolicyInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#GetPolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve information about the specified policy", + "smithy.api#documentation": "

Retrieves information about the specified policy.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#GetPolicyInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the policy that you want information\n about.

", + "smithy.api#required": {} + } + }, + "policyId": { + "target": "com.amazonaws.verifiedpermissions#PolicyId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy you want information about.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#GetPolicyOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the policy that you want information about.

", + "smithy.api#required": {} + } + }, + "policyId": { + "target": "com.amazonaws.verifiedpermissions#PolicyId", + "traits": { + "smithy.api#documentation": "

The unique ID of the policy that you want information about.

", + "smithy.api#required": {} + } + }, + "policyType": { + "target": "com.amazonaws.verifiedpermissions#PolicyType", + "traits": { + "smithy.api#documentation": "

The type of the policy.

", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The principal specified in the policy's scope. This element isn't included in the\n response when Principal isn't present in the policy content.

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The resource specified in the policy's scope. This element isn't included in the\n response when Resource isn't present in the policy content.

" + } + }, + "definition": { + "target": "com.amazonaws.verifiedpermissions#PolicyDefinitionDetail", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The definition of the requested policy.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The date and time that the policy was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The date and time that the policy was last updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#GetPolicyStore": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#GetPolicyStoreInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#GetPolicyStoreOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve details about a policy store", + "smithy.api#documentation": "

Retrieves details about a policy store.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#GetPolicyStoreInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that you want information about.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#GetPolicyStoreOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store;

", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.verifiedpermissions#ResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the policy store.

", + "smithy.api#required": {} + } + }, + "validationSettings": { + "target": "com.amazonaws.verifiedpermissions#ValidationSettings", + "traits": { + "smithy.api#documentation": "

The current validation settings for the policy store.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The date and time that the policy store was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The date and time that the policy store was last updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#GetPolicyTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#GetPolicyTemplateInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#GetPolicyTemplateOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve the details for the specified policy template in the specified policy store", + "smithy.api#documentation": "

Retrieve the details for the specified policy template in the specified policy store.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#GetPolicyTemplateInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the policy template that you want information\n about.

", + "smithy.api#required": {} + } + }, + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy template that you want information about.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#GetPolicyTemplateOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the policy template.

", + "smithy.api#required": {} + } + }, + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

The ID of the policy template.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateDescription", + "traits": { + "smithy.api#documentation": "

The description of the policy template.

" + } + }, + "statement": { + "target": "com.amazonaws.verifiedpermissions#PolicyStatement", + "traits": { + "smithy.api#documentation": "

The content of the body of the policy template written in the Cedar policy language.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The date and time that the policy template was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The date and time that the policy template was most recently updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#GetSchema": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#GetSchemaInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#GetSchemaOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve the details for the specified schema in the specified policy store", + "smithy.api#documentation": "

Retrieve the details for the specified schema in the specified policy store.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#GetSchemaInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the schema.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#GetSchemaOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the schema.

", + "smithy.api#required": {} + } + }, + "schema": { + "target": "com.amazonaws.verifiedpermissions#SchemaJson", + "traits": { + "smithy.api#documentation": "

The body of the schema, written in Cedar schema JSON.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the schema was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the schema was most recently updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#IdempotencyToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]*$" + } + }, + "com.amazonaws.verifiedpermissions#IdentitySource": { + "type": "resource", + "identifiers": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId" + }, + "identitySourceId": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceId" + } + }, + "create": { + "target": "com.amazonaws.verifiedpermissions#CreateIdentitySource" + }, + "read": { + "target": "com.amazonaws.verifiedpermissions#GetIdentitySource" + }, + "update": { + "target": "com.amazonaws.verifiedpermissions#UpdateIdentitySource" + }, + "delete": { + "target": "com.amazonaws.verifiedpermissions#DeleteIdentitySource" + }, + "list": { + "target": "com.amazonaws.verifiedpermissions#ListIdentitySources" + }, + "traits": { + "aws.cloudformation#cfnResource": {}, + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.verifiedpermissions#IdentitySourceDetails": { + "type": "structure", + "members": { + "clientIds": { + "target": "com.amazonaws.verifiedpermissions#ClientIds", + "traits": { + "smithy.api#documentation": "

The application client IDs associated with the specified Amazon Cognito user pool that are\n enabled for this identity source.

" + } + }, + "userPoolArn": { + "target": "com.amazonaws.verifiedpermissions#UserPoolArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Cognito user pool whose identities are accessible to this Verified Permissions\n policy store.

" + } + }, + "discoveryUrl": { + "target": "com.amazonaws.verifiedpermissions#DiscoveryUrl", + "traits": { + "smithy.api#documentation": "

The well-known URL that points to this user pool's OIDC discovery endpoint. This is a\n URL string in the following format. This URL replaces the placeholders for both the\n Amazon Web Services Region and the user pool identifier with those appropriate for this user\n pool.

\n

\n https://cognito-idp.<region>.amazonaws.com/<user-pool-id>/.well-known/openid-configuration\n

" + } + }, + "openIdIssuer": { + "target": "com.amazonaws.verifiedpermissions#OpenIdIssuer", + "traits": { + "smithy.api#documentation": "

A string that identifies the type of OIDC service represented by this identity source.

\n

At this time, the only valid value is cognito.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains configuration of the identity source.

\n

This data type is used as a response parameter for the CreateIdentitySource\n operation.

" + } + }, + "com.amazonaws.verifiedpermissions#IdentitySourceFilter": { + "type": "structure", + "members": { + "principalEntityType": { + "target": "com.amazonaws.verifiedpermissions#PrincipalEntityType", + "traits": { + "smithy.api#documentation": "

The Cedar entity type of the principals returned by the identity provider (IdP)\n associated with this identity source.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that defines characteristics of an identity source that you can use to\n filter.

\n

This data type is used as a request parameter for the ListIdentityStores\n operation.

" + } + }, + "com.amazonaws.verifiedpermissions#IdentitySourceFilters": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceFilter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.verifiedpermissions#IdentitySourceId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]*$" + } + }, + "com.amazonaws.verifiedpermissions#IdentitySourceItem": { + "type": "structure", + "members": { + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the identity source was originally created.

", + "smithy.api#required": {} + } + }, + "details": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceItemDetails", + "traits": { + "smithy.api#documentation": "

A structure that contains the details of the associated identity provider\n (IdP).

", + "smithy.api#required": {} + } + }, + "identitySourceId": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the identity source.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the identity source was most recently updated.

", + "smithy.api#required": {} + } + }, + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The identifier of the policy store that contains the identity source.

", + "smithy.api#required": {} + } + }, + "principalEntityType": { + "target": "com.amazonaws.verifiedpermissions#PrincipalEntityType", + "traits": { + "smithy.api#documentation": "

The Cedar entity type of the principals returned from the IdP associated with this\n identity source.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that defines an identity source.

\n

This data type is used as a request parameter for the ListIdentityStores\n operation.

" + } + }, + "com.amazonaws.verifiedpermissions#IdentitySourceItemDetails": { + "type": "structure", + "members": { + "clientIds": { + "target": "com.amazonaws.verifiedpermissions#ClientIds", + "traits": { + "smithy.api#documentation": "

The application client IDs associated with the specified Amazon Cognito user pool that are\n enabled for this identity source.

" + } + }, + "userPoolArn": { + "target": "com.amazonaws.verifiedpermissions#UserPoolArn", + "traits": { + "smithy.api#documentation": "

The Amazon Cognito user pool whose identities are accessible to this Verified Permissions policy store.

" + } + }, + "discoveryUrl": { + "target": "com.amazonaws.verifiedpermissions#DiscoveryUrl", + "traits": { + "smithy.api#documentation": "

The well-known URL that points to this user pool's OIDC discovery endpoint. This is a\n URL string in the following format. This URL replaces the placeholders for both the\n Amazon Web Services Region and the user pool identifier with those appropriate for this user\n pool.

\n

\n https://cognito-idp.<region>.amazonaws.com/<user-pool-id>/.well-known/openid-configuration\n

" + } + }, + "openIdIssuer": { + "target": "com.amazonaws.verifiedpermissions#OpenIdIssuer", + "traits": { + "smithy.api#documentation": "

A string that identifies the type of OIDC service represented by this identity source.

\n

At this time, the only valid value is cognito.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains configuration of the identity source.

\n

This data type is used as a response parameter for the CreateIdentitySource\n operation.

" + } + }, + "com.amazonaws.verifiedpermissions#IdentitySources": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceItem" + } + }, + "com.amazonaws.verifiedpermissions#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request failed because of an internal error. Try your request again later

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.verifiedpermissions#IsAuthorized": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#IsAuthorizedInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#IsAuthorizedOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to make an authorization decision about a service request described in the parameters", + "smithy.api#documentation": "

Makes an authorization decision about a service request described in the parameters.\n The information in the parameters can also define additional context that Verified Permissions can\n include in the evaluation. The request is evaluated against all matching policies in the\n specified policy store. The result of the decision is either Allow or\n Deny, along with a list of the policies that resulted in the\n decision.

", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#IsAuthorizedInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store. Policies in this policy store will be used to make an\n authorization decision for the input.

", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

Specifies the principal for which the authorization decision is to be made.

" + } + }, + "action": { + "target": "com.amazonaws.verifiedpermissions#ActionIdentifier", + "traits": { + "smithy.api#documentation": "

Specifies the requested action to be authorized. For example, is the principal\n authorized to perform this action on the resource?

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

Specifies the resource for which the authorization decision is to be made.

" + } + }, + "context": { + "target": "com.amazonaws.verifiedpermissions#ContextDefinition", + "traits": { + "smithy.api#documentation": "

Specifies additional context that can be used to make more granular authorization\n decisions.

" + } + }, + "entities": { + "target": "com.amazonaws.verifiedpermissions#EntitiesDefinition", + "traits": { + "smithy.api#documentation": "

Specifies the list of entities and their associated attributes that Verified Permissions can examine\n when evaluating the policies.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#IsAuthorizedOutput": { + "type": "structure", + "members": { + "decision": { + "target": "com.amazonaws.verifiedpermissions#Decision", + "traits": { + "smithy.api#documentation": "

An authorization decision that indicates if the authorization request should be\n allowed or denied.

", + "smithy.api#required": {} + } + }, + "determiningPolicies": { + "target": "com.amazonaws.verifiedpermissions#DeterminingPolicyList", + "traits": { + "smithy.api#documentation": "

The list of determining policies used to make the authorization decision. For example,\n if there are two matching policies, where one is a forbid and the other is a permit,\n then the forbid policy will be the determining policy. In the case of multiple matching\n permit policies then there would be multiple determining policies. In the case that no\n policies match, and hence the response is DENY, there would be no determining\n policies.

", + "smithy.api#required": {} + } + }, + "errors": { + "target": "com.amazonaws.verifiedpermissions#EvaluationErrorList", + "traits": { + "smithy.api#documentation": "

Errors that occurred while making an authorization decision, for example, a policy\n references an Entity or entity Attribute that does not exist in the slice.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#IsAuthorizedWithToken": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#IsAuthorizedWithTokenInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#IsAuthorizedWithTokenOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to make an authorization decision about a service request described in the parameters. The principal in this request comes from an external identity source", + "smithy.api#documentation": "

Makes an authorization decision about a service request described in the parameters.\n The principal in this request comes from an external identity source. The information in the\n parameters can also define additional context that Verified Permissions can include in the evaluation.\n The request is evaluated against all matching policies in the specified policy store. The result\n of the decision is either Allow or Deny, along with a list of\n the policies that resulted in the decision.

\n \n

If you delete a Amazon Cognito user pool or user, tokens from that deleted pool or that deleted user continue to be usable until they expire.

\n
", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#IsAuthorizedWithTokenInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store. Policies in this policy store will be used to make an\n authorization decision for the input.

", + "smithy.api#required": {} + } + }, + "identityToken": { + "target": "com.amazonaws.verifiedpermissions#Token", + "traits": { + "smithy.api#documentation": "

Specifies an identity token for the principal to be authorized. This token is provided\n to you by the identity provider (IdP) associated with the specified identity source. You must\n specify either an AccessToken or an IdentityToken, but not\n both.

" + } + }, + "accessToken": { + "target": "com.amazonaws.verifiedpermissions#Token", + "traits": { + "smithy.api#documentation": "

Specifies an access token for the principal to be authorized. This token is provided\n to you by the identity provider (IdP) associated with the specified identity source. You must\n specify either an AccessToken or an IdentityToken, but not\n both.

" + } + }, + "action": { + "target": "com.amazonaws.verifiedpermissions#ActionIdentifier", + "traits": { + "smithy.api#documentation": "

Specifies the requested action to be authorized. Is the specified principal authorized\n to perform this action on the specified resource.

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

Specifies the resource for which the authorization decision is made. For example, is\n the principal allowed to perform the action on the resource?

" + } + }, + "context": { + "target": "com.amazonaws.verifiedpermissions#ContextDefinition", + "traits": { + "smithy.api#documentation": "

Specifies additional context that can be used to make more granular authorization\n decisions.

" + } + }, + "entities": { + "target": "com.amazonaws.verifiedpermissions#EntitiesDefinition", + "traits": { + "smithy.api#documentation": "

Specifies the list of entities and their associated attributes that Verified Permissions can examine\n when evaluating the policies.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#IsAuthorizedWithTokenOutput": { + "type": "structure", + "members": { + "decision": { + "target": "com.amazonaws.verifiedpermissions#Decision", + "traits": { + "smithy.api#documentation": "

An authorization decision that indicates if the authorization request should be\n allowed or denied.

", + "smithy.api#required": {} + } + }, + "determiningPolicies": { + "target": "com.amazonaws.verifiedpermissions#DeterminingPolicyList", + "traits": { + "smithy.api#documentation": "

The list of determining policies used to make the authorization decision. For example,\n if there are multiple matching policies, where at least one is a forbid policy, then\n because forbid always overrides permit the forbid policies are the determining policies.\n If all matching policies are permit policies, then those policies are the determining\n policies. When no policies match and the response is the default DENY, there are no\n determining policies.

", + "smithy.api#required": {} + } + }, + "errors": { + "target": "com.amazonaws.verifiedpermissions#EvaluationErrorList", + "traits": { + "smithy.api#documentation": "

Errors that occurred while making an authorization decision. For example, a policy\n references an entity or entity attribute that does not exist in the slice.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#ListIdentitySources": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#ListIdentitySourcesInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#ListIdentitySourcesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to return a paginated list of all of the identity sources defined in the specified policy store", + "smithy.api#documentation": "

Returns a paginated list of all of the identity sources defined in the specified policy store.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "identitySources" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#ListIdentitySourcesInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the identity sources that you want to list.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.verifiedpermissions#NextToken", + "traits": { + "smithy.api#documentation": "

Specifies that you want to receive the next page of results. Valid \n only if you received a NextToken response in the previous request. If you\n did, it indicates that more output is available. Set this parameter to the value \n provided by the previous call's NextToken response to request the \n next page of results.

" + } + }, + "maxResults": { + "target": "com.amazonaws.verifiedpermissions#ListIdentitySourcesMaxResults", + "traits": { + "smithy.api#documentation": "

Specifies the total number of results that you want included on each page \n of the response. If you do not include this parameter, it defaults to a value that is \n specific to the operation. If additional items exist beyond the number you specify, the\n NextToken response element is returned with a value (not null).\n Include the specified value as the NextToken request parameter in the next \n call to the operation to get the next part of the results. Note that the service might \n return fewer results than the maximum even when there are more results available. You \n should check NextToken after every operation to ensure that you receive all\n of the results.

" + } + }, + "filters": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceFilters", + "traits": { + "smithy.api#documentation": "

Specifies characteristics of an identity source that you can use to limit the output to matching\n identity sources.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#ListIdentitySourcesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.verifiedpermissions#ListIdentitySourcesOutput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.verifiedpermissions#NextToken", + "traits": { + "smithy.api#documentation": "

If present, this value indicates that more output is available than \n is included in the current response. Use this value in the NextToken \n request parameter in a subsequent call to the operation to get the next part of the \n output. You should repeat this until the NextToken response element comes \n back as null. This indicates that this is the last page of results.

" + } + }, + "identitySources": { + "target": "com.amazonaws.verifiedpermissions#IdentitySources", + "traits": { + "smithy.api#documentation": "

The list of identity sources stored in the specified policy store.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#ListPolicies": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#ListPoliciesInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#ListPoliciesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to return a paginated list of all policies stored in the specified policy store", + "smithy.api#documentation": "

Returns a paginated list of all policies stored in the specified policy store.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "policies" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#ListPoliciesInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store you want to list policies from.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.verifiedpermissions#NextToken", + "traits": { + "smithy.api#documentation": "

Specifies that you want to receive the next page of results. Valid \n only if you received a NextToken response in the previous request. If you\n did, it indicates that more output is available. Set this parameter to the value \n provided by the previous call's NextToken response to request the \n next page of results.

" + } + }, + "maxResults": { + "target": "com.amazonaws.verifiedpermissions#MaxResults", + "traits": { + "smithy.api#documentation": "

Specifies the total number of results that you want included on each page \n of the response. If you do not include this parameter, it defaults to a value that is \n specific to the operation. If additional items exist beyond the number you specify, the\n NextToken response element is returned with a value (not null).\n Include the specified value as the NextToken request parameter in the next \n call to the operation to get the next part of the results. Note that the service might \n return fewer results than the maximum even when there are more results available. You \n should check NextToken after every operation to ensure that you receive all\n of the results.

" + } + }, + "filter": { + "target": "com.amazonaws.verifiedpermissions#PolicyFilter", + "traits": { + "smithy.api#documentation": "

Specifies a filter that limits the response to only policies that match the specified\n criteria. For example, you list only the policies that reference a specified\n principal.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#ListPoliciesOutput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.verifiedpermissions#NextToken", + "traits": { + "smithy.api#documentation": "

If present, this value indicates that more output is available than \n is included in the current response. Use this value in the NextToken \n request parameter in a subsequent call to the operation to get the next part of the \n output. You should repeat this until the NextToken response element comes \n back as null. This indicates that this is the last page of results.

" + } + }, + "policies": { + "target": "com.amazonaws.verifiedpermissions#PolicyList", + "traits": { + "smithy.api#documentation": "

Lists all policies that are available in the specified policy store.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#ListPolicyStores": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#ListPolicyStoresInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#ListPolicyStoresOutput" + }, + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to return a paginated list of all policy stores in the calling Amazon Web Services account", + "smithy.api#documentation": "

Returns a paginated list of all policy stores in the calling Amazon Web Services account.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "policyStores" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#ListPolicyStoresInput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.verifiedpermissions#NextToken", + "traits": { + "smithy.api#documentation": "

Specifies that you want to receive the next page of results. Valid \n only if you received a NextToken response in the previous request. If you\n did, it indicates that more output is available. Set this parameter to the value \n provided by the previous call's NextToken response to request the \n next page of results.

" + } + }, + "maxResults": { + "target": "com.amazonaws.verifiedpermissions#MaxResults", + "traits": { + "smithy.api#documentation": "

Specifies the total number of results that you want included on each page \n of the response. If you do not include this parameter, it defaults to a value that is \n specific to the operation. If additional items exist beyond the number you specify, the\n NextToken response element is returned with a value (not null).\n Include the specified value as the NextToken request parameter in the next \n call to the operation to get the next part of the results. Note that the service might \n return fewer results than the maximum even when there are more results available. You \n should check NextToken after every operation to ensure that you receive all\n of the results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#ListPolicyStoresOutput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.verifiedpermissions#NextToken", + "traits": { + "smithy.api#documentation": "

If present, this value indicates that more output is available than \n is included in the current response. Use this value in the NextToken \n request parameter in a subsequent call to the operation to get the next part of the \n output. You should repeat this until the NextToken response element comes \n back as null. This indicates that this is the last page of results.

" + } + }, + "policyStores": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreList", + "traits": { + "smithy.api#documentation": "

The list of policy stores in the account.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#ListPolicyTemplates": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#ListPolicyTemplatesInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#ListPolicyTemplatesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to return a paginated list of all policy templates in the specified policy store", + "smithy.api#documentation": "

Returns a paginated list of all policy templates in the specified policy store.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "policyTemplates" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.verifiedpermissions#ListPolicyTemplatesInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the policy templates you want to list.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.verifiedpermissions#NextToken", + "traits": { + "smithy.api#documentation": "

Specifies that you want to receive the next page of results. Valid \n only if you received a NextToken response in the previous request. If you\n did, it indicates that more output is available. Set this parameter to the value \n provided by the previous call's NextToken response to request the \n next page of results.

" + } + }, + "maxResults": { + "target": "com.amazonaws.verifiedpermissions#MaxResults", + "traits": { + "smithy.api#documentation": "

Specifies the total number of results that you want included on each page \n of the response. If you do not include this parameter, it defaults to a value that is \n specific to the operation. If additional items exist beyond the number you specify, the\n NextToken response element is returned with a value (not null).\n Include the specified value as the NextToken request parameter in the next \n call to the operation to get the next part of the results. Note that the service might \n return fewer results than the maximum even when there are more results available. You \n should check NextToken after every operation to ensure that you receive all\n of the results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#ListPolicyTemplatesOutput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.verifiedpermissions#NextToken", + "traits": { + "smithy.api#documentation": "

If present, this value indicates that more output is available than \n is included in the current response. Use this value in the NextToken \n request parameter in a subsequent call to the operation to get the next part of the \n output. You should repeat this until the NextToken response element comes \n back as null. This indicates that this is the last page of results.

" + } + }, + "policyTemplates": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplatesList", + "traits": { + "smithy.api#documentation": "

The list of the policy templates in the specified policy store.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#LongAttribute": { + "type": "long" + }, + "com.amazonaws.verifiedpermissions#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 20 + } + } + }, + "com.amazonaws.verifiedpermissions#Namespace": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.verifiedpermissions#NamespaceList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#Namespace" + } + }, + "com.amazonaws.verifiedpermissions#NextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 8000 + }, + "smithy.api#pattern": "^[A-Za-z0-9-_=+/\\.]*$" + } + }, + "com.amazonaws.verifiedpermissions#OpenIdIssuer": { + "type": "enum", + "members": { + "COGNITO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COGNITO" + } + } + } + }, + "com.amazonaws.verifiedpermissions#ParentList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.verifiedpermissions#Policy": { + "type": "resource", + "identifiers": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId" + }, + "policyId": { + "target": "com.amazonaws.verifiedpermissions#PolicyId" + } + }, + "create": { + "target": "com.amazonaws.verifiedpermissions#CreatePolicy" + }, + "read": { + "target": "com.amazonaws.verifiedpermissions#GetPolicy" + }, + "update": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicy" + }, + "delete": { + "target": "com.amazonaws.verifiedpermissions#DeletePolicy" + }, + "list": { + "target": "com.amazonaws.verifiedpermissions#ListPolicies" + }, + "traits": { + "aws.cloudformation#cfnResource": {}, + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.verifiedpermissions#PolicyDefinition": { + "type": "union", + "members": { + "static": { + "target": "com.amazonaws.verifiedpermissions#StaticPolicyDefinition", + "traits": { + "smithy.api#documentation": "

A structure that describes a static policy. An static policy doesn't use a template or allow\n placeholders for entities.

" + } + }, + "templateLinked": { + "target": "com.amazonaws.verifiedpermissions#TemplateLinkedPolicyDefinition", + "traits": { + "smithy.api#documentation": "

A structure that describes a policy that was instantiated from a template. The\n template can specify placeholders for principal and resource.\n When you use CreatePolicy to create a policy from a template, you specify the exact\n principal and resource to use for the instantiated policy.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains the details for a Cedar policy definition. It includes the\n policy type, a description, and a policy body. This is a top level data type used to\n create a policy.

\n

This data type is used as a request parameter for the CreatePolicy operation. This\n structure must always have either an static or a templateLinked\n element.

" + } + }, + "com.amazonaws.verifiedpermissions#PolicyDefinitionDetail": { + "type": "union", + "members": { + "static": { + "target": "com.amazonaws.verifiedpermissions#StaticPolicyDefinitionDetail", + "traits": { + "smithy.api#documentation": "

Information about a static policy that wasn't created with a policy template.

" + } + }, + "templateLinked": { + "target": "com.amazonaws.verifiedpermissions#TemplateLinkedPolicyDefinitionDetail", + "traits": { + "smithy.api#documentation": "

Information about a template-linked policy that was created by instantiating a policy template.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that describes a policy definition. It must always have either an\n static or a templateLinked element.

\n

This data type is used as a response parameter for the GetPolicy operation.

" + } + }, + "com.amazonaws.verifiedpermissions#PolicyDefinitionItem": { + "type": "union", + "members": { + "static": { + "target": "com.amazonaws.verifiedpermissions#StaticPolicyDefinitionItem", + "traits": { + "smithy.api#documentation": "

Information about a static policy that wasn't created with a policy template.

" + } + }, + "templateLinked": { + "target": "com.amazonaws.verifiedpermissions#TemplateLinkedPolicyDefinitionItem", + "traits": { + "smithy.api#documentation": "

Information about a template-linked policy that was created by instantiating a policy template.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that describes a PolicyDefinintion. It will\n always have either an StaticPolicy or a TemplateLinkedPolicy\n element.

\n

This data type is used as a response parameter for the CreatePolicy and ListPolicies\n operations.

" + } + }, + "com.amazonaws.verifiedpermissions#PolicyFilter": { + "type": "structure", + "members": { + "principal": { + "target": "com.amazonaws.verifiedpermissions#EntityReference", + "traits": { + "smithy.api#documentation": "

Filters the output to only policies that reference the specified principal.

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityReference", + "traits": { + "smithy.api#documentation": "

Filters the output to only policies that reference the specified resource.

" + } + }, + "policyType": { + "target": "com.amazonaws.verifiedpermissions#PolicyType", + "traits": { + "smithy.api#documentation": "

Filters the output to only policies of the specified type.

" + } + }, + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

Filters the output to only template-linked policies that were instantiated from the specified\n policy template.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a filter to refine policies returned in a query.

\n

This data type is used as a response parameter for the ListPolicies operation.

" + } + }, + "com.amazonaws.verifiedpermissions#PolicyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]*$" + } + }, + "com.amazonaws.verifiedpermissions#PolicyItem": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The identifier of the PolicyStore where the policy you want information about is\n stored.

", + "smithy.api#required": {} + } + }, + "policyId": { + "target": "com.amazonaws.verifiedpermissions#PolicyId", + "traits": { + "smithy.api#documentation": "

The identifier of the policy you want information about.

", + "smithy.api#required": {} + } + }, + "policyType": { + "target": "com.amazonaws.verifiedpermissions#PolicyType", + "traits": { + "smithy.api#documentation": "

The type of the policy. This is one of the following values:

\n ", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The principal associated with the policy.

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The resource associated with the policy.

" + } + }, + "definition": { + "target": "com.amazonaws.verifiedpermissions#PolicyDefinitionItem", + "traits": { + "smithy.api#documentation": "

The policy definition of an item in the list of policies returned.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the policy was created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the policy was most recently updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a policy.

\n

This data type is used as a response parameter for the ListPolicies operation.

" + } + }, + "com.amazonaws.verifiedpermissions#PolicyList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#PolicyItem" + } + }, + "com.amazonaws.verifiedpermissions#PolicyStatement": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10000 + } + } + }, + "com.amazonaws.verifiedpermissions#PolicyStore": { + "type": "resource", + "identifiers": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId" + } + }, + "create": { + "target": "com.amazonaws.verifiedpermissions#CreatePolicyStore" + }, + "read": { + "target": "com.amazonaws.verifiedpermissions#GetPolicyStore" + }, + "update": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicyStore" + }, + "delete": { + "target": "com.amazonaws.verifiedpermissions#DeletePolicyStore" + }, + "list": { + "target": "com.amazonaws.verifiedpermissions#ListPolicyStores" + }, + "operations": [ + { + "target": "com.amazonaws.verifiedpermissions#GetSchema" + }, + { + "target": "com.amazonaws.verifiedpermissions#IsAuthorized" + }, + { + "target": "com.amazonaws.verifiedpermissions#IsAuthorizedWithToken" + }, + { + "target": "com.amazonaws.verifiedpermissions#PutSchema" + } + ], + "resources": [ + { + "target": "com.amazonaws.verifiedpermissions#IdentitySource" + }, + { + "target": "com.amazonaws.verifiedpermissions#Policy" + }, + { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplate" + } + ], + "traits": { + "aws.api#arn": { + "template": "policy-store/{policyStoreId}", + "noRegion": true + }, + "aws.cloudformation#cfnResource": {}, + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#iamResource": { + "name": "policy-store" + }, + "smithy.api#documentation": "Represents a policy store that you can place schema, policies, and policy templates in to validate authorization requests" + } + }, + "com.amazonaws.verifiedpermissions#PolicyStoreId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]*$" + } + }, + "com.amazonaws.verifiedpermissions#PolicyStoreItem": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the policy store.

", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.verifiedpermissions#ResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the policy store.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time the policy was created.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a policy store.

\n

This data type is used as a response parameter for the ListPolicyStores\n operation.

" + } + }, + "com.amazonaws.verifiedpermissions#PolicyStoreList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreItem" + } + }, + "com.amazonaws.verifiedpermissions#PolicyTemplate": { + "type": "resource", + "identifiers": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId" + }, + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId" + } + }, + "create": { + "target": "com.amazonaws.verifiedpermissions#CreatePolicyTemplate" + }, + "read": { + "target": "com.amazonaws.verifiedpermissions#GetPolicyTemplate" + }, + "update": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicyTemplate" + }, + "delete": { + "target": "com.amazonaws.verifiedpermissions#DeletePolicyTemplate" + }, + "list": { + "target": "com.amazonaws.verifiedpermissions#ListPolicyTemplates" + }, + "traits": { + "aws.cloudformation#cfnResource": {}, + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.verifiedpermissions#PolicyTemplateDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 150 + } + } + }, + "com.amazonaws.verifiedpermissions#PolicyTemplateId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-]*$" + } + }, + "com.amazonaws.verifiedpermissions#PolicyTemplateItem": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the policy store that contains the template.

", + "smithy.api#required": {} + } + }, + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the policy template.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateDescription", + "traits": { + "smithy.api#documentation": "

The description attached to the policy template.

" + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the policy template was created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the policy template was most recently updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains details about a policy template

\n

This data type is used as a response parameter for the ListPolicyTemplates\n operation.

" + } + }, + "com.amazonaws.verifiedpermissions#PolicyTemplatesList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateItem" + } + }, + "com.amazonaws.verifiedpermissions#PolicyType": { + "type": "enum", + "members": { + "STATIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STATIC" + } + }, + "TEMPLATE_LINKED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TEMPLATE_LINKED" + } + } + } + }, + "com.amazonaws.verifiedpermissions#PrincipalEntityType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^.*$" + } + }, + "com.amazonaws.verifiedpermissions#PutSchema": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#PutSchemaInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#PutSchemaOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ConflictException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to create or update the policy schema in the specified policy store", + "smithy.api#documentation": "

Creates or updates the policy schema in the specified policy store. The schema is used to\n validate any Cedar policies and policy templates submitted to the policy store. Any changes to the schema\n validate only policies and templates submitted after the schema change. Existing\n policies and templates are not re-evaluated against the changed schema. If you later\n update a policy, then it is evaluated against the new schema at that time.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#PutSchemaInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store in which to place the schema.

", + "smithy.api#required": {} + } + }, + "definition": { + "target": "com.amazonaws.verifiedpermissions#SchemaDefinition", + "traits": { + "smithy.api#documentation": "

Specifies the definition of the schema to be stored. The schema definition must be\n written in Cedar schema JSON.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#PutSchemaOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The unique ID of the policy store that contains the schema.

", + "smithy.api#required": {} + } + }, + "namespaces": { + "target": "com.amazonaws.verifiedpermissions#NamespaceList", + "traits": { + "smithy.api#documentation": "

Identifies the namespaces of the entities referenced by this schema.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the schema was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the schema was last updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#RecordAttribute": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "com.amazonaws.verifiedpermissions#AttributeValue" + } + }, + "com.amazonaws.verifiedpermissions#ResourceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2500 + }, + "smithy.api#pattern": "^arn:[^:]*:[^:]*:[^:]*:[^:]*:.*$" + } + }, + "com.amazonaws.verifiedpermissions#ResourceConflict": { + "type": "structure", + "members": { + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique identifier of the resource involved in a conflict.

", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "com.amazonaws.verifiedpermissions#ResourceType", + "traits": { + "smithy.api#documentation": "

The type of the resource involved in a conflict.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a resource conflict.

" + } + }, + "com.amazonaws.verifiedpermissions#ResourceConflictList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#ResourceConflict" + } + }, + "com.amazonaws.verifiedpermissions#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique ID of the resource referenced in the failed request.

", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "com.amazonaws.verifiedpermissions#ResourceType", + "traits": { + "smithy.api#documentation": "

The resource type of the resource referenced in the failed request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request failed because it references a resource that doesn't exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.verifiedpermissions#ResourceType": { + "type": "enum", + "members": { + "IDENTITY_SOURCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IDENTITY_SOURCE" + } + }, + "POLICY_STORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "POLICY_STORE" + } + }, + "POLICY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "POLICY" + } + }, + "POLICY_TEMPLATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "POLICY_TEMPLATE" + } + }, + "SCHEMA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SCHEMA" + } + } + } + }, + "com.amazonaws.verifiedpermissions#SchemaDefinition": { + "type": "union", + "members": { + "cedarJson": { + "target": "com.amazonaws.verifiedpermissions#SchemaJson", + "traits": { + "smithy.api#documentation": "

A JSON string representation of the schema supported by applications that use this\n policy store. For more information, see Policy store schema in the\n Amazon Verified Permissions User Guide.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains a list of principal types, resource types, and actions that can be specified\n in policies stored in the same policy store. If the validation mode for the policy store is set to\n STRICT, then policies that can't be validated by this schema are\n rejected by Verified Permissions and can't be stored in the policy store.

" + } + }, + "com.amazonaws.verifiedpermissions#SchemaJson": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10000 + } + } + }, + "com.amazonaws.verifiedpermissions#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique ID of the resource referenced in the failed request.

" + } + }, + "resourceType": { + "target": "com.amazonaws.verifiedpermissions#ResourceType", + "traits": { + "smithy.api#documentation": "

The resource type of the resource referenced in the failed request.

", + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The code for the Amazon Web Service that owns the quota.

" + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The quota code recognized by the Amazon Web Services Service Quotas service.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request failed because it would cause a service quota to be exceeded.

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.verifiedpermissions#SetAttribute": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#AttributeValue" + } + }, + "com.amazonaws.verifiedpermissions#StaticPolicyDefinition": { + "type": "structure", + "members": { + "description": { + "target": "com.amazonaws.verifiedpermissions#StaticPolicyDescription", + "traits": { + "smithy.api#documentation": "

The description of the static policy.

" + } + }, + "statement": { + "target": "com.amazonaws.verifiedpermissions#PolicyStatement", + "traits": { + "smithy.api#documentation": "

The policy content of the static policy, written in the Cedar policy language.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a static policy.

\n

This data type is used as a field that is part of the PolicyDefinitionDetail\n type.

" + } + }, + "com.amazonaws.verifiedpermissions#StaticPolicyDefinitionDetail": { + "type": "structure", + "members": { + "description": { + "target": "com.amazonaws.verifiedpermissions#StaticPolicyDescription", + "traits": { + "smithy.api#documentation": "

A description of the static policy.

" + } + }, + "statement": { + "target": "com.amazonaws.verifiedpermissions#PolicyStatement", + "traits": { + "smithy.api#documentation": "

The content of the static policy written in the Cedar policy language.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains details about a static policy. It includes the description and\n policy body.

\n

This data type is used within a PolicyDefinition structure as\n part of a request parameter for the CreatePolicy operation.

" + } + }, + "com.amazonaws.verifiedpermissions#StaticPolicyDefinitionItem": { + "type": "structure", + "members": { + "description": { + "target": "com.amazonaws.verifiedpermissions#StaticPolicyDescription", + "traits": { + "smithy.api#documentation": "

A description of the static policy.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains details about a static policy. It includes the description and\n policy statement.

\n

This data type is used within a PolicyDefinition structure as\n part of a request parameter for the CreatePolicy operation.

" + } + }, + "com.amazonaws.verifiedpermissions#StaticPolicyDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 150 + } + } + }, + "com.amazonaws.verifiedpermissions#StringAttribute": { + "type": "string" + }, + "com.amazonaws.verifiedpermissions#TemplateLinkedPolicyDefinition": { + "type": "structure", + "members": { + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the policy template used to create this policy.

", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The principal associated with this template-linked policy. Verified Permissions substitutes this principal for the\n ?principal placeholder in the policy template when it evaluates an authorization\n request.

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The resource associated with this template-linked policy. Verified Permissions substitutes this resource for the\n ?resource placeholder in the policy template when it evaluates an authorization\n request.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a policy created by instantiating a policy template.

" + } + }, + "com.amazonaws.verifiedpermissions#TemplateLinkedPolicyDefinitionDetail": { + "type": "structure", + "members": { + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the policy template used to create this policy.

", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The principal associated with this template-linked policy. Verified Permissions substitutes this principal for the\n ?principal placeholder in the policy template when it evaluates an authorization\n request.

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The resource associated with this template-linked policy. Verified Permissions substitutes this resource for the\n ?resource placeholder in the policy template when it evaluates an authorization\n request.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a policy that was

\n

\n

created by instantiating a policy template.

\n

This

" + } + }, + "com.amazonaws.verifiedpermissions#TemplateLinkedPolicyDefinitionItem": { + "type": "structure", + "members": { + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the policy template used to create this policy.

", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The principal associated with this template-linked policy. Verified Permissions substitutes this principal for the\n ?principal placeholder in the policy template when it evaluates an authorization\n request.

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The resource associated with this template-linked policy. Verified Permissions substitutes this resource for the\n ?resource placeholder in the policy template when it evaluates an authorization\n request.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about a policy created by instantiating a policy template.

\n

This

" + } + }, + "com.amazonaws.verifiedpermissions#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The code for the Amazon Web Service that owns the quota.

" + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The quota code recognized by the Amazon Web Services Service Quotas service.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request failed because it exceeded a throttling quota.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": { + "throttling": true + } + } + }, + "com.amazonaws.verifiedpermissions#TimestampFormat": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "date-time" + } + }, + "com.amazonaws.verifiedpermissions#Token": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 131072 + }, + "smithy.api#pattern": "^[A-Za-z0-9-_=]+.[A-Za-z0-9-_=]+.[A-Za-z0-9-_=]+$" + } + }, + "com.amazonaws.verifiedpermissions#UpdateCognitoUserPoolConfiguration": { + "type": "structure", + "members": { + "userPoolArn": { + "target": "com.amazonaws.verifiedpermissions#UserPoolArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Cognito user pool associated with this identity source.

", + "smithy.api#required": {} + } + }, + "clientIds": { + "target": "com.amazonaws.verifiedpermissions#ClientIds", + "traits": { + "smithy.api#documentation": "

The client ID of an app client that is configured for the specified Amazon Cognito user\n pool.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains configuration details of a Amazon Cognito user pool for use with an identity source.

" + } + }, + "com.amazonaws.verifiedpermissions#UpdateConfiguration": { + "type": "union", + "members": { + "cognitoUserPoolConfiguration": { + "target": "com.amazonaws.verifiedpermissions#UpdateCognitoUserPoolConfiguration", + "traits": { + "smithy.api#documentation": "

Contains configuration details of a Amazon Cognito user pool.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains an updated configuration to replace the configuration in an existing\n identity source.

\n \n

At this time, the only valid member of this structure is a Amazon Cognito user pool\n configuration.

\n

You must specify a userPoolArn, and optionally, a\n ClientId.

\n
" + } + }, + "com.amazonaws.verifiedpermissions#UpdateIdentitySource": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#UpdateIdentitySourceInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#UpdateIdentitySourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ConflictException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to update the specified identity source to use a new identity provider (IdP) source, or to change the mapping of identities from the IdP to a different principal entity type", + "smithy.api#documentation": "

Updates the specified identity source to use a new identity provider (IdP) source, or to change\n the mapping of identities from the IdP to a different principal entity type.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdateIdentitySourceInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the identity source that you want to update.

", + "smithy.api#required": {} + } + }, + "identitySourceId": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the identity source that you want to update.

", + "smithy.api#required": {} + } + }, + "updateConfiguration": { + "target": "com.amazonaws.verifiedpermissions#UpdateConfiguration", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Specifies the details required to communicate with the identity provider (IdP)\n associated with this identity source.

\n \n

At this time, the only valid member of this structure is a Amazon Cognito user pool\n configuration.

\n

You must specify a userPoolArn, and optionally, a\n ClientId.

\n
", + "smithy.api#required": {} + } + }, + "principalEntityType": { + "target": "com.amazonaws.verifiedpermissions#PrincipalEntityType", + "traits": { + "smithy.api#documentation": "

Specifies the data type of principals generated for identities authenticated by the\n identity source.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdateIdentitySourceOutput": { + "type": "structure", + "members": { + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the updated identity source was originally created.

", + "smithy.api#required": {} + } + }, + "identitySourceId": { + "target": "com.amazonaws.verifiedpermissions#IdentitySourceId", + "traits": { + "smithy.api#documentation": "

The ID of the updated identity source.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the identity source was most recently updated.

", + "smithy.api#required": {} + } + }, + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the updated identity source.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicyInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ConflictException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ServiceQuotaExceededException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to modify the specified Cedar static policy in the specified policy store", + "smithy.api#documentation": "

Modifies a Cedar static policy in the specified policy store. You can change only certain elements of\n the UpdatePolicyDefinition parameter. You can directly update only static policies. To\n change a template-linked policy, you must update the template instead, using UpdatePolicyTemplate.

\n \n

If policy validation is enabled in the policy store, then updating a static policy causes Verified Permissions to\n validate the policy against the schema in the policy store. If the updated static policy doesn't pass\n validation, the operation fails and the update isn't stored.

\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicyDefinition": { + "type": "union", + "members": { + "static": { + "target": "com.amazonaws.verifiedpermissions#UpdateStaticPolicyDefinition", + "traits": { + "smithy.api#documentation": "

Contains details about the updates to be applied to a static policy.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about updates to be applied to a policy.

\n

This data type is used as a request parameter in the UpdatePolicy operation.

" + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicyInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the policy that you want to update.

", + "smithy.api#required": {} + } + }, + "policyId": { + "target": "com.amazonaws.verifiedpermissions#PolicyId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy that you want to update. To find this value, you can\n use ListPolicies.

", + "smithy.api#required": {} + } + }, + "definition": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicyDefinition", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Specifies the updated policy content that you want to replace on the specified policy.\n The content must be valid Cedar policy language text.

\n

You can change only the following elements from the policy definition:

\n \n

You can't change the following elements:

\n ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicyOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the policy that was updated.

", + "smithy.api#required": {} + } + }, + "policyId": { + "target": "com.amazonaws.verifiedpermissions#PolicyId", + "traits": { + "smithy.api#documentation": "

The ID of the policy that was updated.

", + "smithy.api#required": {} + } + }, + "policyType": { + "target": "com.amazonaws.verifiedpermissions#PolicyType", + "traits": { + "smithy.api#documentation": "

The type of the policy that was updated.

", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The principal specified in the policy's scope. This element isn't included in the\n response when Principal isn't present in the policy content.

" + } + }, + "resource": { + "target": "com.amazonaws.verifiedpermissions#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

The resource specified in the policy's scope. This element isn't included in the\n response when Resource isn't present in the policy content.

" + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the policy was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the policy was most recently updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicyStore": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicyStoreInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicyStoreOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ConflictException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to modify the validation setting for a policy store", + "smithy.api#documentation": "

Modifies the validation setting for a policy store.

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicyStoreInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that you want to update

", + "smithy.api#required": {} + } + }, + "validationSettings": { + "target": "com.amazonaws.verifiedpermissions#ValidationSettings", + "traits": { + "smithy.api#documentation": "

A structure that defines the validation settings that want to enable for the\n policy store.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicyStoreOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the updated policy store.

", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.verifiedpermissions#ResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated policy store.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the policy store was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the policy store was most recently updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicyTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicyTemplateInput" + }, + "output": { + "target": "com.amazonaws.verifiedpermissions#UpdatePolicyTemplateOutput" + }, + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#ConflictException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ResourceNotFoundException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to update the specified policy template", + "smithy.api#documentation": "

Updates the specified policy template. You can update only the description and the some elements\n of the policyBody.

\n \n

Changes you make to the policy template content are immediately reflected in authorization\n decisions that involve all template-linked policies instantiated from this template.

\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicyTemplateInput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy store that contains the policy template that you want to update.

", + "smithy.api#required": {} + } + }, + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the policy template that you want to update.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateDescription", + "traits": { + "smithy.api#documentation": "

Specifies a new description to apply to the policy template.

" + } + }, + "statement": { + "target": "com.amazonaws.verifiedpermissions#PolicyStatement", + "traits": { + "smithy.api#documentation": "

Specifies new statement content written in Cedar policy language to replace the\n current body of the policy template.

\n

You can change only the following elements of the policy body:

\n \n

You can't change the following elements:

\n ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdatePolicyTemplateOutput": { + "type": "structure", + "members": { + "policyStoreId": { + "target": "com.amazonaws.verifiedpermissions#PolicyStoreId", + "traits": { + "smithy.api#documentation": "

The ID of the policy store that contains the updated policy template.

", + "smithy.api#required": {} + } + }, + "policyTemplateId": { + "target": "com.amazonaws.verifiedpermissions#PolicyTemplateId", + "traits": { + "smithy.api#documentation": "

The ID of the updated policy template.

", + "smithy.api#required": {} + } + }, + "createdDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the policy template was originally created.

", + "smithy.api#required": {} + } + }, + "lastUpdatedDate": { + "target": "com.amazonaws.verifiedpermissions#TimestampFormat", + "traits": { + "smithy.api#documentation": "

The date and time that the policy template was most recently updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.verifiedpermissions#UpdateStaticPolicyDefinition": { + "type": "structure", + "members": { + "description": { + "target": "com.amazonaws.verifiedpermissions#StaticPolicyDescription", + "traits": { + "smithy.api#documentation": "

Specifies the description to be added to or replaced on the static policy.

" + } + }, + "statement": { + "target": "com.amazonaws.verifiedpermissions#PolicyStatement", + "traits": { + "smithy.api#documentation": "

Specifies the Cedar policy language text to be added to or replaced on the static policy.

\n \n

You can change only the following elements from the original content:

\n \n

You can't change the following elements:

\n \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains information about an update to a static policy.

" + } + }, + "com.amazonaws.verifiedpermissions#UserPoolArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^arn:[a-zA-Z0-9-]+:cognito-idp:(([a-zA-Z0-9-]+:\\d{12}:userpool/[\\w-]+_[0-9a-zA-Z]+))$" + } + }, + "com.amazonaws.verifiedpermissions#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + }, + "fieldList": { + "target": "com.amazonaws.verifiedpermissions#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

The list of fields that aren't valid.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request failed because one or more input parameters don't satisfy their constraint\n requirements. The output is provided as a list of fields and a reason for each field that\n isn't valid.

\n

The possible reasons include the following:

\n ", + "smithy.api#error": "client" + } + }, + "com.amazonaws.verifiedpermissions#ValidationExceptionField": { + "type": "structure", + "members": { + "path": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The path to the specific element that Verified Permissions found to be not valid.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Describes the policy validation error.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Details about a field that failed policy validation.

" + } + }, + "com.amazonaws.verifiedpermissions#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.verifiedpermissions#ValidationExceptionField" + } + }, + "com.amazonaws.verifiedpermissions#ValidationMode": { + "type": "enum", + "members": { + "OFF": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OFF" + } + }, + "STRICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STRICT" + } + } + } + }, + "com.amazonaws.verifiedpermissions#ValidationSettings": { + "type": "structure", + "members": { + "mode": { + "target": "com.amazonaws.verifiedpermissions#ValidationMode", + "traits": { + "smithy.api#documentation": "

The validation mode currently configured for this policy store. The valid values are:

\n \n \n

If Mode=STRICT and the policy store doesn't contain a schema, Verified Permissions rejects\n all static policies and policy templates because there is no schema to validate against.

\n

To submit a static policy or policy template without a schema, you must turn off validation.

\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains Cedar policy validation settings for the policy store. The\n validation mode determines which validation failures that Cedar considers serious\n enough to block acceptance of a new or edited static policy or policy template.

\n

This data type is used as a request parameter in the CreatePolicyStore and UpdatePolicyStore operations.

" + } + }, + "com.amazonaws.verifiedpermissions#VerifiedPermissions": { + "type": "service", + "version": "2021-12-01", + "resources": [ + { + "target": "com.amazonaws.verifiedpermissions#PolicyStore" + } + ], + "errors": [ + { + "target": "com.amazonaws.verifiedpermissions#AccessDeniedException" + }, + { + "target": "com.amazonaws.verifiedpermissions#InternalServerException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ThrottlingException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ThrottlingException" + }, + { + "target": "com.amazonaws.verifiedpermissions#ValidationException" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "VerifiedPermissions", + "arnNamespace": "verifiedpermissions", + "endpointPrefix": "verifiedpermissions" + }, + "aws.auth#sigv4": { + "name": "verifiedpermissions" + }, + "aws.iam#supportedPrincipalTypes": [ + "Root", + "IAMUser", + "IAMRole", + "FederatedUser" + ], + "aws.protocols#awsJson1_0": {}, + "smithy.api#documentation": "

Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage\n permissions for your application, and authorize user access based on those permissions.\n Using Verified Permissions, application developers can grant access based on information about the\n users, resources, and requested actions. You can also evaluate additional information\n like group membership, attributes of the resources, and session context, such as time of\n request and IP addresses. Verified Permissions manages these permissions by letting you create and\n store authorization policies for your applications, such as consumer-facing web sites\n and enterprise business systems.

\n

Verified Permissions uses Cedar as the policy language to express your permission requirements.\n Cedar supports both role-based access control (RBAC) and attribute-based access\n control (ABAC) authorization models.

\n

For more information about configuring, administering, and using Amazon Verified Permissions in your\n applications, see the Amazon Verified Permissions User Guide.

\n

For more information about the Cedar policy language, see the Cedar Policy Language Guide.

\n \n

When you write Cedar policies that reference principals, resources and actions,\n you can define the unique identifiers used for each of those elements. We strongly\n recommend that you follow these best practices:

\n \n
\n

Several operations return structures that appear similar, but have different purposes.\n As new functionality is added to the product, the structure used in a parameter of one\n operation might need to change in a way that wouldn't make sense for the same parameter\n in a different operation. To help you understand the purpose of each, the following\n naming convention is used for the structures:

\n ", + "smithy.api#title": "Amazon Verified Permissions", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://verifiedpermissions-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://verifiedpermissions-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://verifiedpermissions.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://verifiedpermissions.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://verifiedpermissions.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" + } + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/wafv2.json b/codegen/sdk-codegen/aws-models/wafv2.json index eac5dff3321..9080fcd22e5 100644 --- a/codegen/sdk-codegen/aws-models/wafv2.json +++ b/codegen/sdk-codegen/aws-models/wafv2.json @@ -98,6 +98,48 @@ } } }, + "com.amazonaws.wafv2#AWSManagedRulesACFPRuleSet": { + "type": "structure", + "members": { + "CreationPath": { + "target": "com.amazonaws.wafv2#CreationPathString", + "traits": { + "smithy.api#documentation": "

The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept POST requests.

\n

For example, for the URL https://example.com/web/signup, you would provide the path /web/signup.

", + "smithy.api#required": {} + } + }, + "RegistrationPagePath": { + "target": "com.amazonaws.wafv2#RegistrationPagePathString", + "traits": { + "smithy.api#documentation": "

The path of the account registration endpoint for your application. This is the page on your website that presents the registration form to new users.

\n \n

This page must accept GET text/html requests.

\n
\n

For example, for the URL https://example.com/web/register, you would provide the path /web/register.

", + "smithy.api#required": {} + } + }, + "RequestInspection": { + "target": "com.amazonaws.wafv2#RequestInspectionACFP", + "traits": { + "smithy.api#documentation": "

The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.

", + "smithy.api#required": {} + } + }, + "ResponseInspection": { + "target": "com.amazonaws.wafv2#ResponseInspection", + "traits": { + "smithy.api#documentation": "

The criteria for inspecting responses to account creation requests, used by the ACFP rule group to track account creation success rates.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
\n

The ACFP rule group evaluates the responses that your protected resources send back to client account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels \n and mitigates requests from client sessions and IP addresses that have had too many successful account creation attempts in a short amount of time.

" + } + }, + "EnableRegexInPath": { + "target": "com.amazonaws.wafv2#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Allow the use of regular expressions in the registration page path and the account creation path.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details for your use of the account creation fraud prevention managed rule group, AWSManagedRulesACFPRuleSet. This configuration is used in ManagedRuleGroupConfig.

" + } + }, "com.amazonaws.wafv2#AWSManagedRulesATPRuleSet": { "type": "structure", "members": { @@ -117,7 +159,14 @@ "ResponseInspection": { "target": "com.amazonaws.wafv2#ResponseInspection", "traits": { - "smithy.api#documentation": "

The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates.

\n

The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels \n and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
" + "smithy.api#documentation": "

The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
\n

The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts for each IP address and client session. Using this information, the rule group labels \n and mitigates requests from client sessions and IP addresses that have had too many failed login attempts in a short amount of time.

" + } + }, + "EnableRegexInPath": { + "target": "com.amazonaws.wafv2#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Allow the use of regular expressions in the login page path.

" } } }, @@ -1644,6 +1693,27 @@ } } }, + "com.amazonaws.wafv2#AddressField": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.wafv2#FieldIdentifier", + "traits": { + "smithy.api#documentation": "

The name of a single primary address field.

\n

How you specify the address fields depends on the request inspection payload type.

\n ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The name of a field in the request payload that contains part or all of your customer's primary physical address.

\n

This data type is used in the RequestInspectionACFP data type.

" + } + }, + "com.amazonaws.wafv2#AddressFields": { + "type": "list", + "member": { + "target": "com.amazonaws.wafv2#AddressField" + } + }, "com.amazonaws.wafv2#All": { "type": "structure", "members": {}, @@ -4270,6 +4340,16 @@ "smithy.api#output": {} } }, + "com.amazonaws.wafv2#CreationPathString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "\\S" + } + }, "com.amazonaws.wafv2#CustomHTTPHeader": { "type": "structure", "members": { @@ -5183,6 +5263,21 @@ "com.amazonaws.wafv2#DownloadUrl": { "type": "string" }, + "com.amazonaws.wafv2#EmailField": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.wafv2#FieldIdentifier", + "traits": { + "smithy.api#documentation": "

The name of the email field.

\n

How you specify this depends on the request inspection payload type.

\n ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The name of the field in the request payload that contains your customer's email.

\n

This data type is used in the RequestInspectionACFP data type.

" + } + }, "com.amazonaws.wafv2#EntityDescription": { "type": "string", "traits": { @@ -5388,7 +5483,7 @@ "HeaderOrder": { "target": "com.amazonaws.wafv2#HeaderOrder", "traits": { - "smithy.api#documentation": "

Inspect a string containing the list of the request's header names, ordered as they appear in the web request\nthat WAF receives for inspection. \n WAF generates the string and then uses that as the field to match component in its inspection. \n WAF separates the header names in the string using commas and no added spaces.

\n

Matches against the header order string are case insensitive.

" + "smithy.api#documentation": "

Inspect a string containing the list of the request's header names, ordered as they appear in the web request\nthat WAF receives for inspection. \n WAF generates the string and then uses that as the field to match component in its inspection. \n WAF separates the header names in the string using colons and no added spaces, for example host:user-agent:accept:authorization:referer.

" } } }, @@ -6543,7 +6638,7 @@ "ApplicationIntegrationURL": { "target": "com.amazonaws.wafv2#OutputUrl", "traits": { - "smithy.api#documentation": "

The URL to use in SDK integrations with Amazon Web Services managed rule groups. For example, you can use the integration SDKs with the account takeover prevention managed rule group AWSManagedRulesATPRuleSet. This is only populated if you are using a rule group in your web ACL that integrates with your applications in this way. For more information, see WAF client application integration \nin the WAF Developer Guide.

" + "smithy.api#documentation": "

The URL to use in SDK integrations with Amazon Web Services managed rule groups. For example, you can use the integration SDKs with the account takeover prevention managed rule group AWSManagedRulesATPRuleSet and the account creation fraud prevention managed rule group AWSManagedRulesACFPRuleSet. This is only populated if you are using a rule group in your web ACL that integrates with your applications in this way. For more information, see WAF client application integration \nin the WAF Developer Guide.

" } } }, @@ -6680,7 +6775,7 @@ } }, "traits": { - "smithy.api#documentation": "

Inspect a string containing the list of the request's header names, ordered as they appear in the web request\nthat WAF receives for inspection. \n WAF generates the string and then uses that as the field to match component in its inspection. \n WAF separates the header names in the string using commas and no added spaces.

\n

Matches against the header order string are case insensitive.

" + "smithy.api#documentation": "

Inspect a string containing the list of the request's header names, ordered as they appear in the web request\nthat WAF receives for inspection. \n WAF generates the string and then uses that as the field to match component in its inspection. \n WAF separates the header names in the string using colons and no added spaces, for example host:user-agent:accept:authorization:referer.

" } }, "com.amazonaws.wafv2#HeaderValue": { @@ -8073,7 +8168,7 @@ "RedactedFields": { "target": "com.amazonaws.wafv2#RedactedFields", "traits": { - "smithy.api#documentation": "

The parts of the request that you want to keep out of the logs. For example, if you\n redact the SingleHeader field, the HEADER field in the logs will\n be REDACTED.

\n \n

You can specify only the following fields for redaction: UriPath,\n QueryString, SingleHeader, Method, and\n JsonBody.

\n
" + "smithy.api#documentation": "

The parts of the request that you want to keep out of the logs.

\n

For example, if you\n redact the SingleHeader field, the HEADER field in the logs will\n be REDACTED for all rules that use the SingleHeader\n FieldToMatch setting.

\n

Redaction applies only to the component that's specified in the rule's FieldToMatch setting, so the SingleHeader redaction \n doesn't apply to rules that use the Headers\n FieldToMatch.

\n \n

You can specify only the following fields for redaction: UriPath,\n QueryString, SingleHeader, and Method.

\n
" } }, "ManagedByFirewallManager": { @@ -8220,7 +8315,7 @@ "smithy.api#deprecated": { "message": "Deprecated. Use AWSManagedRulesATPRuleSet RequestInspection PayloadType" }, - "smithy.api#documentation": "\n

Instead of this setting, provide your configuration under AWSManagedRulesATPRuleSet\n RequestInspection.

\n
" + "smithy.api#documentation": "\n

Instead of this setting, provide your configuration under the request inspection configuration for AWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet.

\n
" } }, "UsernameField": { @@ -8229,7 +8324,7 @@ "smithy.api#deprecated": { "message": "Deprecated. Use AWSManagedRulesATPRuleSet RequestInspection UsernameField" }, - "smithy.api#documentation": "\n

Instead of this setting, provide your configuration under AWSManagedRulesATPRuleSet\n RequestInspection.

\n
" + "smithy.api#documentation": "\n

Instead of this setting, provide your configuration under the request inspection configuration for AWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet.

\n
" } }, "PasswordField": { @@ -8238,7 +8333,7 @@ "smithy.api#deprecated": { "message": "Deprecated. Use AWSManagedRulesATPRuleSet RequestInspection PasswordField" }, - "smithy.api#documentation": "\n

Instead of this setting, provide your configuration under AWSManagedRulesATPRuleSet\n RequestInspection.

\n
" + "smithy.api#documentation": "\n

Instead of this setting, provide your configuration under the request inspection configuration for AWSManagedRulesATPRuleSet or AWSManagedRulesACFPRuleSet.

\n
" } }, "AWSManagedRulesBotControlRuleSet": { @@ -8252,10 +8347,16 @@ "traits": { "smithy.api#documentation": "

Additional configuration for using the account takeover prevention (ATP) managed rule group, AWSManagedRulesATPRuleSet. \n Use this to provide login request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide\n the information about how your distribution responds to login requests.

\n

This configuration replaces the individual configuration fields in ManagedRuleGroupConfig and provides additional feature configuration.

\n

For information \n about using the ATP managed rule group, see WAF Fraud Control account takeover prevention (ATP) rule group \n and WAF Fraud Control account takeover prevention (ATP)\n in the WAF Developer Guide.

" } + }, + "AWSManagedRulesACFPRuleSet": { + "target": "com.amazonaws.wafv2#AWSManagedRulesACFPRuleSet", + "traits": { + "smithy.api#documentation": "

Additional configuration for using the account creation fraud prevention (ACFP) managed rule group, AWSManagedRulesACFPRuleSet. \n Use this to provide account creation request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide\n the information about how your distribution responds to account creation requests.

\n

For information \n about using the ACFP managed rule group, see WAF Fraud Control account creation fraud prevention (ACFP) rule group \n and WAF Fraud Control account creation fraud prevention (ACFP)\n in the WAF Developer Guide.

" + } } }, "traits": { - "smithy.api#documentation": "

Additional information that's used by a managed rule group. Many managed rule groups don't require this.

\n

Use the AWSManagedRulesATPRuleSet configuration object for the account takeover prevention managed rule group, to provide information such as the sign-in page of your application and the type of content to accept or reject from the client.

\n

Use the AWSManagedRulesBotControlRuleSet configuration object to configure the \n protection level that you want the Bot Control rule group to use.

\n

For example specifications, see the examples section of CreateWebACL.

" + "smithy.api#documentation": "

Additional information that's used by a managed rule group. Many managed rule groups don't require this.

\n

The rule groups used for intelligent threat mitigation require additional configuration:

\n \n

For example specifications, see the examples section of CreateWebACL.

" } }, "com.amazonaws.wafv2#ManagedRuleGroupConfigs": { @@ -8302,7 +8403,7 @@ "ManagedRuleGroupConfigs": { "target": "com.amazonaws.wafv2#ManagedRuleGroupConfigs", "traits": { - "smithy.api#documentation": "

Additional information that's used by a managed rule group. Many managed rule groups don't require this.

\n

Use the AWSManagedRulesATPRuleSet configuration object for the account takeover prevention managed rule group, to provide information such as the sign-in page of your application and the type of content to accept or reject from the client.

\n

Use the AWSManagedRulesBotControlRuleSet configuration object to configure the \n protection level that you want the Bot Control rule group to use.

" + "smithy.api#documentation": "

Additional information that's used by a managed rule group. Many managed rule groups don't require this.

\n

The rule groups used for intelligent threat mitigation require additional configuration:

\n " } }, "RuleActionOverrides": { @@ -8313,7 +8414,7 @@ } }, "traits": { - "smithy.api#documentation": "

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

\n

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

\n \n

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet or the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet. For more information, see WAF Pricing.

\n
" + "smithy.api#documentation": "

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

\n

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

\n \n

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet, the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet. For more information, see WAF Pricing.

\n
" } }, "com.amazonaws.wafv2#ManagedRuleGroupSummaries": { @@ -9119,6 +9220,12 @@ "traits": { "smithy.api#enumValue": "CUSTOM_KEYS" } + }, + "ACP_RULE_SET_RESPONSE_INSPECTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACP_RULE_SET_RESPONSE_INSPECTION" + } } } }, @@ -9136,13 +9243,13 @@ "Identifier": { "target": "com.amazonaws.wafv2#FieldIdentifier", "traits": { - "smithy.api#documentation": "

The name of the password field. For example /form/password.

", + "smithy.api#documentation": "

The name of the password field.

\n

How you specify this depends on the request inspection payload type.

\n ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Details about your login page password field for request inspection, used in the \n AWSManagedRulesATPRuleSet\n RequestInspection configuration.

" + "smithy.api#documentation": "

The name of the field in the request payload that contains your customer's password.

\n

This data type is used in the RequestInspection and RequestInspectionACFP data types.

" } }, "com.amazonaws.wafv2#PayloadType": { @@ -9162,6 +9269,27 @@ } } }, + "com.amazonaws.wafv2#PhoneNumberField": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.wafv2#FieldIdentifier", + "traits": { + "smithy.api#documentation": "

The name of a single primary phone number field.

\n

How you specify the phone number fields depends on the request inspection payload type.

\n ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The name of a field in the request payload that contains part or all of your customer's primary phone number.

\n

This data type is used in the RequestInspectionACFP data type.

" + } + }, + "com.amazonaws.wafv2#PhoneNumberFields": { + "type": "list", + "member": { + "target": "com.amazonaws.wafv2#PhoneNumberField" + } + }, "com.amazonaws.wafv2#Platform": { "type": "enum", "members": { @@ -9958,6 +10086,16 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.wafv2#RegistrationPagePathString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "\\S" + } + }, "com.amazonaws.wafv2#RegularExpressionList": { "type": "list", "member": { @@ -10030,14 +10168,14 @@ "UsernameField": { "target": "com.amazonaws.wafv2#UsernameField", "traits": { - "smithy.api#documentation": "

Details about your login page username field.

\n

How you specify this depends on the payload type.

\n ", + "smithy.api#documentation": "

The name of the field in the request payload that contains your customer's username.

\n

How you specify this depends on the request inspection payload type.

\n ", "smithy.api#required": {} } }, "PasswordField": { "target": "com.amazonaws.wafv2#PasswordField", "traits": { - "smithy.api#documentation": "

Details about your login page password field.

\n

How you specify this depends on the payload type.

\n ", + "smithy.api#documentation": "

The name of the field in the request payload that contains your customer's password.

\n

How you specify this depends on the request inspection payload type.

\n ", "smithy.api#required": {} } } @@ -10046,6 +10184,51 @@ "smithy.api#documentation": "

The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage.

\n

This is part of the AWSManagedRulesATPRuleSet configuration in ManagedRuleGroupConfig.

\n

In these settings, you specify how your application accepts login attempts\n by providing the request payload type and the names of the fields \n within the request body where the username and password are provided.

" } }, + "com.amazonaws.wafv2#RequestInspectionACFP": { + "type": "structure", + "members": { + "PayloadType": { + "target": "com.amazonaws.wafv2#PayloadType", + "traits": { + "smithy.api#documentation": "

The payload type for your account creation endpoint, either JSON or form encoded.

", + "smithy.api#required": {} + } + }, + "UsernameField": { + "target": "com.amazonaws.wafv2#UsernameField", + "traits": { + "smithy.api#documentation": "

The name of the field in the request payload that contains your customer's username.

\n

How you specify this depends on the request inspection payload type.

\n " + } + }, + "PasswordField": { + "target": "com.amazonaws.wafv2#PasswordField", + "traits": { + "smithy.api#documentation": "

The name of the field in the request payload that contains your customer's password.

\n

How you specify this depends on the request inspection payload type.

\n " + } + }, + "EmailField": { + "target": "com.amazonaws.wafv2#EmailField", + "traits": { + "smithy.api#documentation": "

The name of the field in the request payload that contains your customer's email.

\n

How you specify this depends on the request inspection payload type.

\n " + } + }, + "PhoneNumberFields": { + "target": "com.amazonaws.wafv2#PhoneNumberFields", + "traits": { + "smithy.api#documentation": "

The names of the fields in the request payload that contain your customer's primary phone number.

\n

Order the phone number fields in the array exactly as they are ordered in the request payload.

\n

How you specify the phone number fields depends on the request inspection payload type.

\n " + } + }, + "AddressFields": { + "target": "com.amazonaws.wafv2#AddressFields", + "traits": { + "smithy.api#documentation": "

The names of the fields in the request payload that contain your customer's primary physical address.

\n

Order the address fields in the array exactly as they are ordered in the request payload.

\n

How you specify the address fields depends on the request inspection payload type.

\n " + } + } + }, + "traits": { + "smithy.api#documentation": "

The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.

\n

This is part of the AWSManagedRulesACFPRuleSet configuration in ManagedRuleGroupConfig.

\n

In these settings, you specify how your application accepts account creation attempts\n by providing the request payload type and the names of the fields \n within the request body where the username, password, email, and primary address and phone number fields are provided.

" + } + }, "com.amazonaws.wafv2#ResourceArn": { "type": "string", "traits": { @@ -10145,30 +10328,30 @@ "StatusCode": { "target": "com.amazonaws.wafv2#ResponseInspectionStatusCode", "traits": { - "smithy.api#documentation": "

Configures inspection of the response status code.

" + "smithy.api#documentation": "

Configures inspection of the response status code for success and failure indicators.

" } }, "Header": { "target": "com.amazonaws.wafv2#ResponseInspectionHeader", "traits": { - "smithy.api#documentation": "

Configures inspection of the response header.

" + "smithy.api#documentation": "

Configures inspection of the response header for success and failure indicators.

" } }, "BodyContains": { "target": "com.amazonaws.wafv2#ResponseInspectionBodyContains", "traits": { - "smithy.api#documentation": "

Configures inspection of the response body. WAF can inspect the first 65,536 bytes (64 KB) of the response body.

" + "smithy.api#documentation": "

Configures inspection of the response body for success and failure indicators. WAF can inspect the first 65,536 bytes (64 KB) of the response body.

" } }, "Json": { "target": "com.amazonaws.wafv2#ResponseInspectionJson", "traits": { - "smithy.api#documentation": "

Configures inspection of the response JSON. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON.

" + "smithy.api#documentation": "

Configures inspection of the response JSON for success and failure indicators. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON.

" } } }, "traits": { - "smithy.api#documentation": "

The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates.

\n

The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels \n and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
\n

This is part of the AWSManagedRulesATPRuleSet configuration in ManagedRuleGroupConfig.

\n

Enable login response inspection by configuring exactly one component of the response to inspect. You can't configure more than one. If you don't configure any of the response inspection options, response inspection is disabled.

" + "smithy.api#documentation": "

The criteria for inspecting responses to login requests and account creation requests, used by the ATP and ACFP rule groups to track login and account creation success and failure rates.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
\n

The rule groups evaluates the responses that your protected resources send back to client login and account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels \n and mitigates requests from client sessions and IP addresses with too much suspicious activity in a short amount of time.

\n

This is part of the AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet configurations in ManagedRuleGroupConfig.

\n

Enable response inspection by configuring exactly one component of the response to inspect, for example, Header or StatusCode. You can't configure more than one component for inspection. If you don't configure any of the response inspection options, response inspection is disabled.

" } }, "com.amazonaws.wafv2#ResponseInspectionBodyContains": { @@ -10177,20 +10360,20 @@ "SuccessStrings": { "target": "com.amazonaws.wafv2#ResponseInspectionBodyContainsSuccessStrings", "traits": { - "smithy.api#documentation": "

Strings in the body of the response that indicate a successful login attempt. To be counted as a successful login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.

\n

JSON example: \"SuccessStrings\": [ \"Login successful\", \"Welcome to our site!\" ]\n

", + "smithy.api#documentation": "

Strings in the body of the response that indicate a successful login or account creation attempt. To be counted as a success, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.

\n

JSON examples: \"SuccessStrings\": [ \"Login successful\" ] and \"SuccessStrings\": [ \"Account creation successful\", \"Welcome to our site!\" ]\n

", "smithy.api#required": {} } }, "FailureStrings": { "target": "com.amazonaws.wafv2#ResponseInspectionBodyContainsFailureStrings", "traits": { - "smithy.api#documentation": "

Strings in the body of the response that indicate a failed login attempt. To be counted as a failed login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.

\n

JSON example: \"FailureStrings\": [ \"Login failed\" ]\n

", + "smithy.api#documentation": "

Strings in the body of the response that indicate a failed login or account creation attempt. To be counted as a failure, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.

\n

JSON example: \"FailureStrings\": [ \"Request failed\" ]\n

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Configures inspection of the response body. WAF can inspect the first 65,536 bytes (64 KB) of the response body. This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
" + "smithy.api#documentation": "

Configures inspection of the response body. WAF can inspect the first 65,536 bytes (64 KB) of the response body. \n This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
" } }, "com.amazonaws.wafv2#ResponseInspectionBodyContainsFailureStrings": { @@ -10223,27 +10406,27 @@ "Name": { "target": "com.amazonaws.wafv2#ResponseInspectionHeaderName", "traits": { - "smithy.api#documentation": "

The name of the header to match against. The name must be an exact match, including case.

\n

JSON example: \"Name\": [ \"LoginResult\" ]\n

", + "smithy.api#documentation": "

The name of the header to match against. The name must be an exact match, including case.

\n

JSON example: \"Name\": [ \"RequestResult\" ]\n

", "smithy.api#required": {} } }, "SuccessValues": { "target": "com.amazonaws.wafv2#ResponseInspectionHeaderSuccessValues", "traits": { - "smithy.api#documentation": "

Values in the response header with the specified name that indicate a successful login attempt. To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values.

\n

JSON example: \"SuccessValues\": [ \"LoginPassed\", \"Successful login\" ]\n

", + "smithy.api#documentation": "

Values in the response header with the specified name that indicate a successful login or account creation attempt. To be counted as a success, the value must be an exact match, including case. Each value must be unique among the success and failure values.

\n

JSON examples: \"SuccessValues\": [ \"LoginPassed\", \"Successful login\" ] and \"SuccessValues\": [ \"AccountCreated\", \"Successful account creation\" ]\n

", "smithy.api#required": {} } }, "FailureValues": { "target": "com.amazonaws.wafv2#ResponseInspectionHeaderFailureValues", "traits": { - "smithy.api#documentation": "

Values in the response header with the specified name that indicate a failed login attempt. To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values.

\n

JSON example: \"FailureValues\": [ \"LoginFailed\", \"Failed login\" ]\n

", + "smithy.api#documentation": "

Values in the response header with the specified name that indicate a failed login or account creation attempt. To be counted as a failure, the value must be an exact match, including case. Each value must be unique among the success and failure values.

\n

JSON examples: \"FailureValues\": [ \"LoginFailed\", \"Failed login\" ] and \"FailureValues\": [ \"AccountCreationFailed\" ]\n

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Configures inspection of the response header. This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
" + "smithy.api#documentation": "

Configures inspection of the response header. \n This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
" } }, "com.amazonaws.wafv2#ResponseInspectionHeaderFailureValues": { @@ -10286,27 +10469,27 @@ "Identifier": { "target": "com.amazonaws.wafv2#FieldIdentifier", "traits": { - "smithy.api#documentation": "

The identifier for the value to match against in the JSON. The identifier must be an exact match, including case.

\n

JSON example: \"Identifier\": [ \"/login/success\" ]\n

", + "smithy.api#documentation": "

The identifier for the value to match against in the JSON. The identifier must be an exact match, including case.

\n

JSON examples: \"Identifier\": [ \"/login/success\" ] and \"Identifier\": [ \"/sign-up/success\" ]\n

", "smithy.api#required": {} } }, "SuccessValues": { "target": "com.amazonaws.wafv2#ResponseInspectionJsonSuccessValues", "traits": { - "smithy.api#documentation": "

Values for the specified identifier in the response JSON that indicate a successful login attempt. To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values.

\n

JSON example: \"SuccessValues\": [ \"True\", \"Succeeded\" ]\n

", + "smithy.api#documentation": "

Values for the specified identifier in the response JSON that indicate a successful login or account creation attempt. To be counted as a success, the value must be an exact match, including case. Each value must be unique among the success and failure values.

\n

JSON example: \"SuccessValues\": [ \"True\", \"Succeeded\" ]\n

", "smithy.api#required": {} } }, "FailureValues": { "target": "com.amazonaws.wafv2#ResponseInspectionJsonFailureValues", "traits": { - "smithy.api#documentation": "

Values for the specified identifier in the response JSON that indicate a failed login attempt. To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values.

\n

JSON example: \"FailureValues\": [ \"False\", \"Failed\" ]\n

", + "smithy.api#documentation": "

Values for the specified identifier in the response JSON that indicate a failed login or account creation attempt. To be counted as a failure, the value must be an exact match, including case. Each value must be unique among the success and failure values.

\n

JSON example: \"FailureValues\": [ \"False\", \"Failed\" ]\n

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Configures inspection of the response JSON. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON. This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
" + "smithy.api#documentation": "

Configures inspection of the response JSON. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON. \n This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
" } }, "com.amazonaws.wafv2#ResponseInspectionJsonFailureValues": { @@ -10339,20 +10522,20 @@ "SuccessCodes": { "target": "com.amazonaws.wafv2#ResponseInspectionStatusCodeSuccessCodes", "traits": { - "smithy.api#documentation": "

Status codes in the response that indicate a successful login attempt. To be counted as a successful login, the response status code must match one of these. Each code must be unique among the success and failure status codes.

\n

JSON example: \"SuccessCodes\": [ 200, 201 ]\n

", + "smithy.api#documentation": "

Status codes in the response that indicate a successful login or account creation attempt. To be counted as a success, the response status code must match one of these. Each code must be unique among the success and failure status codes.

\n

JSON example: \"SuccessCodes\": [ 200, 201 ]\n

", "smithy.api#required": {} } }, "FailureCodes": { "target": "com.amazonaws.wafv2#ResponseInspectionStatusCodeFailureCodes", "traits": { - "smithy.api#documentation": "

Status codes in the response that indicate a failed login attempt. To be counted as a failed login, the response status code must match one of these. Each code must be unique among the success and failure status codes.

\n

JSON example: \"FailureCodes\": [ 400, 404 ]\n

", + "smithy.api#documentation": "

Status codes in the response that indicate a failed login or account creation attempt. To be counted as a failure, the response status code must match one of these. Each code must be unique among the success and failure status codes.

\n

JSON example: \"FailureCodes\": [ 400, 404 ]\n

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Configures inspection of the response status code. This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
" + "smithy.api#documentation": "

Configures inspection of the response status code. \n This is part of the ResponseInspection configuration for AWSManagedRulesATPRuleSet and AWSManagedRulesACFPRuleSet.

\n \n

Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.

\n
" } }, "com.amazonaws.wafv2#ResponseInspectionStatusCodeFailureCodes": { @@ -11073,7 +11256,7 @@ "ManagedRuleGroupStatement": { "target": "com.amazonaws.wafv2#ManagedRuleGroupStatement", "traits": { - "smithy.api#documentation": "

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

\n

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

\n \n

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet or the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet. For more information, see WAF Pricing.

\n
" + "smithy.api#documentation": "

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

\n

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

\n \n

You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet, the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet. For more information, see WAF Pricing.

\n
" } }, "LabelMatchStatement": { @@ -12155,13 +12338,13 @@ "Identifier": { "target": "com.amazonaws.wafv2#FieldIdentifier", "traits": { - "smithy.api#documentation": "

The name of the username field. For example /form/username.

", + "smithy.api#documentation": "

The name of the username field.

\n

How you specify this depends on the request inspection payload type.

\n ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Details about your login page username field for request inspection, used in the \n AWSManagedRulesATPRuleSet\n RequestInspection configuration.

" + "smithy.api#documentation": "

The name of the field in the request payload that contains your customer's username.

\n

This data type is used in the RequestInspection and RequestInspectionACFP data types.

" } }, "com.amazonaws.wafv2#VendorName": { diff --git a/codegen/sdk-codegen/aws-models/wellarchitected.json b/codegen/sdk-codegen/aws-models/wellarchitected.json index 6c6689420c0..1f09035ce50 100644 --- a/codegen/sdk-codegen/aws-models/wellarchitected.json +++ b/codegen/sdk-codegen/aws-models/wellarchitected.json @@ -244,6 +244,12 @@ "traits": { "smithy.api#documentation": "

The reason why a choice is non-applicable to a question in your workload.

" } + }, + "QuestionType": { + "target": "com.amazonaws.wellarchitected#QuestionType", + "traits": { + "smithy.api#documentation": "

The type of the question.

" + } } }, "traits": { @@ -319,10 +325,73 @@ "smithy.api#input": {} } }, + "com.amazonaws.wellarchitected#AssociateProfiles": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#AssociateProfilesInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#ConflictException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Associate a profile with a workload.

", + "smithy.api#http": { + "method": "PATCH", + "uri": "/workloads/{WorkloadId}/associateProfiles", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#AssociateProfilesInput": { + "type": "structure", + "members": { + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ProfileArns": { + "target": "com.amazonaws.wellarchitected#ProfileArns", + "traits": { + "smithy.api#documentation": "

The list of profile ARNs to associate with the workload.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.wellarchitected#AwsAccountId": { "type": "string", "traits": { "smithy.api#documentation": "

An Amazon Web Services account ID.

", + "smithy.api#length": { + "min": 12, + "max": 12 + }, "smithy.api#pattern": "^[0-9]{12}$" } }, @@ -910,7 +979,11 @@ "com.amazonaws.wellarchitected#ClientRequestToken": { "type": "string", "traits": { - "smithy.api#documentation": "

A unique case-sensitive string used to ensure that this request is idempotent\n (executes only once).

\n

You should not reuse the same token for other requests. If you retry a request with\n the same client request token and the same parameters after the original request has completed\n successfully, the result of the original request is returned.

\n \n

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs\n automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI,\n you must provide this token or the request will fail.

\n
" + "smithy.api#documentation": "

A unique case-sensitive string used to ensure that this request is idempotent\n (executes only once).

\n

You should not reuse the same token for other requests. If you retry a request with\n the same client request token and the same parameters after the original request has completed\n successfully, the result of the original request is returned.

\n \n

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs\n automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI,\n you must provide this token or the request will fail.

\n
", + "smithy.api#length": { + "min": 1, + "max": 2048 + } } }, "com.amazonaws.wellarchitected#ConflictException": { @@ -1261,6 +1334,191 @@ "smithy.api#output": {} } }, + "com.amazonaws.wellarchitected#CreateProfile": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#CreateProfileInput" + }, + "output": { + "target": "com.amazonaws.wellarchitected#CreateProfileOutput" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#ConflictException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Create a profile.

", + "smithy.api#http": { + "method": "POST", + "uri": "/profiles", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#CreateProfileInput": { + "type": "structure", + "members": { + "ProfileName": { + "target": "com.amazonaws.wellarchitected#ProfileName", + "traits": { + "smithy.api#documentation": "

Name of the profile.

", + "smithy.api#required": {} + } + }, + "ProfileDescription": { + "target": "com.amazonaws.wellarchitected#ProfileDescription", + "traits": { + "smithy.api#documentation": "

The profile description.

", + "smithy.api#required": {} + } + }, + "ProfileQuestions": { + "target": "com.amazonaws.wellarchitected#ProfileQuestionUpdates", + "traits": { + "smithy.api#documentation": "

The profile questions.

", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.wellarchitected#ClientRequestToken", + "traits": { + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.wellarchitected#TagMap", + "traits": { + "smithy.api#documentation": "

The tags assigned to the profile.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#CreateProfileOutput": { + "type": "structure", + "members": { + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

" + } + }, + "ProfileVersion": { + "target": "com.amazonaws.wellarchitected#ProfileVersion", + "traits": { + "smithy.api#documentation": "

Version of the profile.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.wellarchitected#CreateProfileShare": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#CreateProfileShareInput" + }, + "output": { + "target": "com.amazonaws.wellarchitected#CreateProfileShareOutput" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#ConflictException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Create a profile share.

", + "smithy.api#http": { + "method": "POST", + "uri": "/profiles/{ProfileArn}/shares", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#CreateProfileShareInput": { + "type": "structure", + "members": { + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "SharedWith": { + "target": "com.amazonaws.wellarchitected#SharedWith", + "traits": { + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.wellarchitected#ClientRequestToken", + "traits": { + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#CreateProfileShareOutput": { + "type": "structure", + "members": { + "ShareId": { + "target": "com.amazonaws.wellarchitected#ShareId" + }, + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.wellarchitected#CreateWorkload": { "type": "operation", "input": { @@ -1379,6 +1637,12 @@ "traits": { "smithy.api#documentation": "

List of AppRegistry application ARNs associated to the workload.

" } + }, + "ProfileArns": { + "target": "com.amazonaws.wellarchitected#WorkloadProfileArns", + "traits": { + "smithy.api#documentation": "

The list of profile ARNs associated with the workload.

" + } } }, "traits": { @@ -1643,10 +1907,10 @@ "smithy.api#input": {} } }, - "com.amazonaws.wellarchitected#DeleteWorkload": { + "com.amazonaws.wellarchitected#DeleteProfile": { "type": "operation", "input": { - "target": "com.amazonaws.wellarchitected#DeleteWorkloadInput" + "target": "com.amazonaws.wellarchitected#DeleteProfileInput" }, "output": { "target": "smithy.api#Unit" @@ -1672,20 +1936,21 @@ } ], "traits": { - "smithy.api#documentation": "

Delete an existing workload.

", + "smithy.api#documentation": "

Delete a profile.

\n \n

\n Disclaimer\n

\n

By sharing your profile with other Amazon Web Services accounts, \n you acknowledge that Amazon Web Services will make your profile available to those \n other accounts. Those other accounts may continue to access and use your \n shared profile even if you delete the profile \n from your own Amazon Web Services account or terminate \n your Amazon Web Services account.

\n
", "smithy.api#http": { "method": "DELETE", - "uri": "/workloads/{WorkloadId}", + "uri": "/profiles/{ProfileArn}", "code": 200 } } }, - "com.amazonaws.wellarchitected#DeleteWorkloadInput": { + "com.amazonaws.wellarchitected#DeleteProfileInput": { "type": "structure", "members": { - "WorkloadId": { - "target": "com.amazonaws.wellarchitected#WorkloadId", + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", "traits": { + "smithy.api#documentation": "

The profile ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1700,14 +1965,13 @@ } }, "traits": { - "smithy.api#documentation": "

Input for workload deletion.

", "smithy.api#input": {} } }, - "com.amazonaws.wellarchitected#DeleteWorkloadShare": { + "com.amazonaws.wellarchitected#DeleteProfileShare": { "type": "operation", "input": { - "target": "com.amazonaws.wellarchitected#DeleteWorkloadShareInput" + "target": "com.amazonaws.wellarchitected#DeleteProfileShareInput" }, "output": { "target": "smithy.api#Unit" @@ -1733,15 +1997,15 @@ } ], "traits": { - "smithy.api#documentation": "

Delete a workload share.

", + "smithy.api#documentation": "

Delete a profile share.

", "smithy.api#http": { "method": "DELETE", - "uri": "/workloads/{WorkloadId}/shares/{ShareId}", + "uri": "/profiles/{ProfileArn}/shares/{ShareId}", "code": 200 } } }, - "com.amazonaws.wellarchitected#DeleteWorkloadShareInput": { + "com.amazonaws.wellarchitected#DeleteProfileShareInput": { "type": "structure", "members": { "ShareId": { @@ -1751,9 +2015,10 @@ "smithy.api#required": {} } }, - "WorkloadId": { - "target": "com.amazonaws.wellarchitected#WorkloadId", + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", "traits": { + "smithy.api#documentation": "

The profile ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1768,37 +2033,165 @@ } }, "traits": { - "smithy.api#documentation": "

Input for Delete Workload Share

", "smithy.api#input": {} } }, - "com.amazonaws.wellarchitected#DifferenceStatus": { - "type": "enum", - "members": { - "UPDATED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UPDATED" - } - }, - "NEW": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NEW" - } - }, - "DELETED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETED" - } - } - } - }, - "com.amazonaws.wellarchitected#DisassociateLenses": { + "com.amazonaws.wellarchitected#DeleteWorkload": { "type": "operation", "input": { - "target": "com.amazonaws.wellarchitected#DisassociateLensesInput" + "target": "com.amazonaws.wellarchitected#DeleteWorkloadInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#ConflictException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Delete an existing workload.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/workloads/{WorkloadId}", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#DeleteWorkloadInput": { + "type": "structure", + "members": { + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.wellarchitected#ClientRequestToken", + "traits": { + "smithy.api#httpQuery": "ClientRequestToken", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Input for workload deletion.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#DeleteWorkloadShare": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#DeleteWorkloadShareInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#ConflictException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Delete a workload share.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/workloads/{WorkloadId}/shares/{ShareId}", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#DeleteWorkloadShareInput": { + "type": "structure", + "members": { + "ShareId": { + "target": "com.amazonaws.wellarchitected#ShareId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.wellarchitected#ClientRequestToken", + "traits": { + "smithy.api#httpQuery": "ClientRequestToken", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Input for Delete Workload Share

", + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#DifferenceStatus": { + "type": "enum", + "members": { + "UPDATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATED" + } + }, + "NEW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NEW" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + } + } + }, + "com.amazonaws.wellarchitected#DisassociateLenses": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#DisassociateLensesInput" }, "output": { "target": "smithy.api#Unit" @@ -1854,6 +2247,65 @@ "smithy.api#input": {} } }, + "com.amazonaws.wellarchitected#DisassociateProfiles": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#DisassociateProfilesInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#ConflictException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Disassociate a profile from a workload.

", + "smithy.api#http": { + "method": "PATCH", + "uri": "/workloads/{WorkloadId}/disassociateProfiles", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#DisassociateProfilesInput": { + "type": "structure", + "members": { + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ProfileArns": { + "target": "com.amazonaws.wellarchitected#ProfileArns", + "traits": { + "smithy.api#documentation": "

The list of profile ARNs to disassociate from the workload.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.wellarchitected#DiscoveryIntegrationStatus": { "type": "enum", "members": { @@ -2600,13 +3052,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.wellarchitected#GetWorkload": { + "com.amazonaws.wellarchitected#GetProfile": { "type": "operation", "input": { - "target": "com.amazonaws.wellarchitected#GetWorkloadInput" + "target": "com.amazonaws.wellarchitected#GetProfileInput" }, "output": { - "target": "com.amazonaws.wellarchitected#GetWorkloadOutput" + "target": "com.amazonaws.wellarchitected#GetProfileOutput" }, "errors": [ { @@ -2626,76 +3078,69 @@ } ], "traits": { - "smithy.api#documentation": "

Get an existing workload.

", + "smithy.api#documentation": "

Get profile information.

", "smithy.api#http": { "method": "GET", - "uri": "/workloads/{WorkloadId}", + "uri": "/profiles/{ProfileArn}", "code": 200 } } }, - "com.amazonaws.wellarchitected#GetWorkloadInput": { + "com.amazonaws.wellarchitected#GetProfileInput": { "type": "structure", "members": { - "WorkloadId": { - "target": "com.amazonaws.wellarchitected#WorkloadId", + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", "traits": { + "smithy.api#documentation": "

The profile ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "ProfileVersion": { + "target": "com.amazonaws.wellarchitected#ProfileVersion", + "traits": { + "smithy.api#documentation": "

The profile version.

", + "smithy.api#httpQuery": "ProfileVersion" + } } }, "traits": { - "smithy.api#documentation": "

Input to get a workload.

", "smithy.api#input": {} } }, - "com.amazonaws.wellarchitected#GetWorkloadOutput": { + "com.amazonaws.wellarchitected#GetProfileOutput": { "type": "structure", "members": { - "Workload": { - "target": "com.amazonaws.wellarchitected#Workload" + "Profile": { + "target": "com.amazonaws.wellarchitected#Profile", + "traits": { + "smithy.api#documentation": "

The profile.

" + } } }, "traits": { - "smithy.api#documentation": "

Output of a get workload call.

", "smithy.api#output": {} } }, - "com.amazonaws.wellarchitected#HelpfulResourceUrl": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The helpful resource URL.

\n

For Amazon Web Services official lenses, this is the helpful resource URL for a question or choice.

\n

For custom lenses, this is the helpful resource URL for a question and is only provided\n if HelpfulResourceDisplayText was specified for the question.

", - "smithy.api#length": { - "min": 1, - "max": 2048 - } - } - }, - "com.amazonaws.wellarchitected#ImportLens": { + "com.amazonaws.wellarchitected#GetProfileTemplate": { "type": "operation", "input": { - "target": "com.amazonaws.wellarchitected#ImportLensInput" + "target": "com.amazonaws.wellarchitected#GetProfileTemplateInput" }, "output": { - "target": "com.amazonaws.wellarchitected#ImportLensOutput" + "target": "com.amazonaws.wellarchitected#GetProfileTemplateOutput" }, "errors": [ { "target": "com.amazonaws.wellarchitected#AccessDeniedException" }, - { - "target": "com.amazonaws.wellarchitected#ConflictException" - }, { "target": "com.amazonaws.wellarchitected#InternalServerException" }, { "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" }, - { - "target": "com.amazonaws.wellarchitected#ServiceQuotaExceededException" - }, { "target": "com.amazonaws.wellarchitected#ThrottlingException" }, @@ -2704,22 +3149,155 @@ } ], "traits": { - "smithy.api#documentation": "

Import a new custom lens or update an existing custom lens.

\n

To update an existing custom lens, specify its ARN as the LensAlias. If\n no ARN is specified, a new custom lens is created.

\n

The new or updated lens will have a status of DRAFT. The lens cannot be\n applied to workloads or shared with other Amazon Web Services accounts until it's\n published with CreateLensVersion.

\n

Lenses are defined in JSON. For more information, see JSON format specification \n in the Well-Architected Tool User Guide.

\n

A custom lens cannot exceed 500 KB in size.

\n \n

\n Disclaimer\n

\n

Do not include or gather personal identifiable information (PII) of end users or \n other identifiable individuals in or via your custom lenses. If your custom \n lens or those shared with you and used in your account do include or collect \n PII you are responsible for: ensuring that the included PII is processed in accordance \n with applicable law, providing adequate privacy notices, and obtaining necessary \n consents for processing such data.

\n
", + "smithy.api#documentation": "

Get profile template.

", "smithy.api#http": { - "method": "PUT", - "uri": "/importLens", + "method": "GET", + "uri": "/profileTemplate", "code": 200 } } }, - "com.amazonaws.wellarchitected#ImportLensInput": { + "com.amazonaws.wellarchitected#GetProfileTemplateInput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#GetProfileTemplateOutput": { "type": "structure", "members": { - "LensAlias": { - "target": "com.amazonaws.wellarchitected#LensAlias" - }, - "JSONString": { - "target": "com.amazonaws.wellarchitected#LensJSON", + "ProfileTemplate": { + "target": "com.amazonaws.wellarchitected#ProfileTemplate", + "traits": { + "smithy.api#documentation": "

The profile template.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.wellarchitected#GetWorkload": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#GetWorkloadInput" + }, + "output": { + "target": "com.amazonaws.wellarchitected#GetWorkloadOutput" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Get an existing workload.

", + "smithy.api#http": { + "method": "GET", + "uri": "/workloads/{WorkloadId}", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#GetWorkloadInput": { + "type": "structure", + "members": { + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Input to get a workload.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#GetWorkloadOutput": { + "type": "structure", + "members": { + "Workload": { + "target": "com.amazonaws.wellarchitected#Workload" + } + }, + "traits": { + "smithy.api#documentation": "

Output of a get workload call.

", + "smithy.api#output": {} + } + }, + "com.amazonaws.wellarchitected#HelpfulResourceUrl": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The helpful resource URL.

\n

For Amazon Web Services official lenses, this is the helpful resource URL for a question or choice.

\n

For custom lenses, this is the helpful resource URL for a question and is only provided\n if HelpfulResourceDisplayText was specified for the question.

", + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, + "com.amazonaws.wellarchitected#ImportLens": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#ImportLensInput" + }, + "output": { + "target": "com.amazonaws.wellarchitected#ImportLensOutput" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#ConflictException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Import a new custom lens or update an existing custom lens.

\n

To update an existing custom lens, specify its ARN as the LensAlias. If\n no ARN is specified, a new custom lens is created.

\n

The new or updated lens will have a status of DRAFT. The lens cannot be\n applied to workloads or shared with other Amazon Web Services accounts until it's\n published with CreateLensVersion.

\n

Lenses are defined in JSON. For more information, see JSON format specification \n in the Well-Architected Tool User Guide.

\n

A custom lens cannot exceed 500 KB in size.

\n \n

\n Disclaimer\n

\n

Do not include or gather personal identifiable information (PII) of end users or \n other identifiable individuals in or via your custom lenses. If your custom \n lens or those shared with you and used in your account do include or collect \n PII you are responsible for: ensuring that the included PII is processed in accordance \n with applicable law, providing adequate privacy notices, and obtaining necessary \n consents for processing such data.

\n
", + "smithy.api#http": { + "method": "PUT", + "uri": "/importLens", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#ImportLensInput": { + "type": "structure", + "members": { + "LensAlias": { + "target": "com.amazonaws.wellarchitected#LensAlias" + }, + "JSONString": { + "target": "com.amazonaws.wellarchitected#LensJSON", "traits": { "smithy.api#documentation": "

The JSON representation of a lens.

", "smithy.api#required": {} @@ -3055,6 +3633,15 @@ }, "NextToken": { "target": "com.amazonaws.wellarchitected#NextToken" + }, + "Profiles": { + "target": "com.amazonaws.wellarchitected#WorkloadProfiles", + "traits": { + "smithy.api#documentation": "

The profiles associated with the workload.

" + } + }, + "PrioritizedRiskCounts": { + "target": "com.amazonaws.wellarchitected#RiskCounts" } }, "traits": { @@ -3122,6 +3709,15 @@ }, "RiskCounts": { "target": "com.amazonaws.wellarchitected#RiskCounts" + }, + "Profiles": { + "target": "com.amazonaws.wellarchitected#WorkloadProfiles", + "traits": { + "smithy.api#documentation": "

The profiles associated with the workload.

" + } + }, + "PrioritizedRiskCounts": { + "target": "com.amazonaws.wellarchitected#RiskCounts" } }, "traits": { @@ -3432,6 +4028,13 @@ "smithy.api#documentation": "

The maximum number of results to return for this request.

", "smithy.api#httpQuery": "MaxResults" } + }, + "QuestionPriority": { + "target": "com.amazonaws.wellarchitected#QuestionPriority", + "traits": { + "smithy.api#documentation": "

The priority of the question.

", + "smithy.api#httpQuery": "QuestionPriority" + } } }, "traits": { @@ -3774,6 +4377,13 @@ "smithy.api#documentation": "

The maximum number of results to return for this request.

", "smithy.api#httpQuery": "MaxResults" } + }, + "QuestionPriority": { + "target": "com.amazonaws.wellarchitected#QuestionPriority", + "traits": { + "smithy.api#documentation": "

The priority of the question.

", + "smithy.api#httpQuery": "QuestionPriority" + } } }, "traits": { @@ -4280,13 +4890,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.wellarchitected#ListShareInvitations": { + "com.amazonaws.wellarchitected#ListProfileNotifications": { "type": "operation", "input": { - "target": "com.amazonaws.wellarchitected#ListShareInvitationsInput" + "target": "com.amazonaws.wellarchitected#ListProfileNotificationsInput" }, "output": { - "target": "com.amazonaws.wellarchitected#ListShareInvitationsOutput" + "target": "com.amazonaws.wellarchitected#ListProfileNotificationsOutput" }, "errors": [ { @@ -4303,10 +4913,10 @@ } ], "traits": { - "smithy.api#documentation": "

List the workload invitations.

", + "smithy.api#documentation": "

List profile notifications.

", "smithy.api#http": { "method": "GET", - "uri": "/shareInvitations", + "uri": "/profileNotifications", "code": 200 }, "smithy.api#paginated": { @@ -4316,27 +4926,13 @@ } } }, - "com.amazonaws.wellarchitected#ListShareInvitationsInput": { + "com.amazonaws.wellarchitected#ListProfileNotificationsInput": { "type": "structure", "members": { - "WorkloadNamePrefix": { - "target": "com.amazonaws.wellarchitected#WorkloadNamePrefix", - "traits": { - "smithy.api#httpQuery": "WorkloadNamePrefix" - } - }, - "LensNamePrefix": { - "target": "com.amazonaws.wellarchitected#LensNamePrefix", - "traits": { - "smithy.api#documentation": "

An optional string added to the beginning of each lens name returned in the results.

", - "smithy.api#httpQuery": "LensNamePrefix" - } - }, - "ShareResourceType": { - "target": "com.amazonaws.wellarchitected#ShareResourceType", + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId", "traits": { - "smithy.api#documentation": "

The type of share invitations to be returned.

", - "smithy.api#httpQuery": "ShareResourceType" + "smithy.api#httpQuery": "WorkloadId" } }, "NextToken": { @@ -4346,108 +4942,41 @@ } }, "MaxResults": { - "target": "com.amazonaws.wellarchitected#ListShareInvitationsMaxResults", + "target": "com.amazonaws.wellarchitected#MaxResults", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for this request.

", "smithy.api#httpQuery": "MaxResults" } } }, "traits": { - "smithy.api#documentation": "

Input for List Share Invitations

", "smithy.api#input": {} } }, - "com.amazonaws.wellarchitected#ListShareInvitationsMaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 1, - "max": 50 - } - } - }, - "com.amazonaws.wellarchitected#ListShareInvitationsOutput": { + "com.amazonaws.wellarchitected#ListProfileNotificationsOutput": { "type": "structure", "members": { - "ShareInvitationSummaries": { - "target": "com.amazonaws.wellarchitected#ShareInvitationSummaries", + "NotificationSummaries": { + "target": "com.amazonaws.wellarchitected#ProfileNotificationSummaries", "traits": { - "smithy.api#documentation": "

List of share invitation summaries in a workload.

" + "smithy.api#documentation": "

Notification summaries.

" } }, "NextToken": { "target": "com.amazonaws.wellarchitected#NextToken" } }, - "traits": { - "smithy.api#documentation": "

Input for List Share Invitations

", - "smithy.api#output": {} - } - }, - "com.amazonaws.wellarchitected#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.wellarchitected#ListTagsForResourceInput" - }, - "output": { - "target": "com.amazonaws.wellarchitected#ListTagsForResourceOutput" - }, - "errors": [ - { - "target": "com.amazonaws.wellarchitected#InternalServerException" - }, - { - "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

List the tags for a resource.

\n \n

The WorkloadArn parameter can be either a workload ARN or a custom lens ARN.

\n
", - "smithy.api#http": { - "method": "GET", - "uri": "/tags/{WorkloadArn}", - "code": 200 - } - } - }, - "com.amazonaws.wellarchitected#ListTagsForResourceInput": { - "type": "structure", - "members": { - "WorkloadArn": { - "target": "com.amazonaws.wellarchitected#WorkloadArn", - "traits": { - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.wellarchitected#ListTagsForResourceOutput": { - "type": "structure", - "members": { - "Tags": { - "target": "com.amazonaws.wellarchitected#TagMap", - "traits": { - "smithy.api#documentation": "

The tags for the resource.

" - } - } - }, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.wellarchitected#ListWorkloadShares": { + "com.amazonaws.wellarchitected#ListProfileShares": { "type": "operation", "input": { - "target": "com.amazonaws.wellarchitected#ListWorkloadSharesInput" + "target": "com.amazonaws.wellarchitected#ListProfileSharesInput" }, "output": { - "target": "com.amazonaws.wellarchitected#ListWorkloadSharesOutput" + "target": "com.amazonaws.wellarchitected#ListProfileSharesOutput" }, "errors": [ { @@ -4467,10 +4996,10 @@ } ], "traits": { - "smithy.api#documentation": "

List the workload shares associated with the workload.

", + "smithy.api#documentation": "

List profile shares.

", "smithy.api#http": { "method": "GET", - "uri": "/workloads/{WorkloadId}/shares", + "uri": "/profiles/{ProfileArn}/shares", "code": 200 }, "smithy.api#paginated": { @@ -4480,12 +5009,13 @@ } } }, - "com.amazonaws.wellarchitected#ListWorkloadSharesInput": { + "com.amazonaws.wellarchitected#ListProfileSharesInput": { "type": "structure", "members": { - "WorkloadId": { - "target": "com.amazonaws.wellarchitected#WorkloadId", + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", "traits": { + "smithy.api#documentation": "

The profile ARN.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4493,7 +5023,7 @@ "SharedWithPrefix": { "target": "com.amazonaws.wellarchitected#SharedWithPrefix", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the workload is shared.

", + "smithy.api#documentation": "

The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the profile is shared.

", "smithy.api#httpQuery": "SharedWithPrefix" } }, @@ -4504,7 +5034,7 @@ } }, "MaxResults": { - "target": "com.amazonaws.wellarchitected#ListWorkloadSharesMaxResults", + "target": "com.amazonaws.wellarchitected#ListProfileSharesMaxResults", "traits": { "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of results to return for this request.

", @@ -4519,11 +5049,10 @@ } }, "traits": { - "smithy.api#documentation": "

Input for List Workload Share

", "smithy.api#input": {} } }, - "com.amazonaws.wellarchitected#ListWorkloadSharesMaxResults": { + "com.amazonaws.wellarchitected#ListProfileSharesMaxResults": { "type": "integer", "traits": { "smithy.api#default": 0, @@ -4533,31 +5062,118 @@ } } }, - "com.amazonaws.wellarchitected#ListWorkloadSharesOutput": { + "com.amazonaws.wellarchitected#ListProfileSharesOutput": { "type": "structure", "members": { - "WorkloadId": { - "target": "com.amazonaws.wellarchitected#WorkloadId" + "ProfileShareSummaries": { + "target": "com.amazonaws.wellarchitected#ProfileShareSummaries", + "traits": { + "smithy.api#documentation": "

Profile share summaries.

" + } }, - "WorkloadShareSummaries": { - "target": "com.amazonaws.wellarchitected#WorkloadShareSummaries" + "NextToken": { + "target": "com.amazonaws.wellarchitected#NextToken" + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.wellarchitected#ListProfiles": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#ListProfilesInput" + }, + "output": { + "target": "com.amazonaws.wellarchitected#ListProfilesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

List profiles.

", + "smithy.api#http": { + "method": "GET", + "uri": "/profileSummaries", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.wellarchitected#ListProfilesInput": { + "type": "structure", + "members": { + "ProfileNamePrefix": { + "target": "com.amazonaws.wellarchitected#ProfileNamePrefix", + "traits": { + "smithy.api#documentation": "

Prefix for profile name.

", + "smithy.api#httpQuery": "ProfileNamePrefix" + } + }, + "ProfileOwnerType": { + "target": "com.amazonaws.wellarchitected#ProfileOwnerType", + "traits": { + "smithy.api#documentation": "

Profile owner type.

", + "smithy.api#httpQuery": "ProfileOwnerType" + } + }, + "NextToken": { + "target": "com.amazonaws.wellarchitected#NextToken", + "traits": { + "smithy.api#httpQuery": "NextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.wellarchitected#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#httpQuery": "MaxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#ListProfilesOutput": { + "type": "structure", + "members": { + "ProfileSummaries": { + "target": "com.amazonaws.wellarchitected#ProfileSummaries", + "traits": { + "smithy.api#documentation": "

Profile summaries.

" + } }, "NextToken": { "target": "com.amazonaws.wellarchitected#NextToken" } }, "traits": { - "smithy.api#documentation": "

Input for List Workload Share

", "smithy.api#output": {} } }, - "com.amazonaws.wellarchitected#ListWorkloads": { + "com.amazonaws.wellarchitected#ListShareInvitations": { "type": "operation", "input": { - "target": "com.amazonaws.wellarchitected#ListWorkloadsInput" + "target": "com.amazonaws.wellarchitected#ListShareInvitationsInput" }, "output": { - "target": "com.amazonaws.wellarchitected#ListWorkloadsOutput" + "target": "com.amazonaws.wellarchitected#ListShareInvitationsOutput" }, "errors": [ { @@ -4574,10 +5190,10 @@ } ], "traits": { - "smithy.api#documentation": "

Paginated list of workloads.

", + "smithy.api#documentation": "

List the workload invitations.

", "smithy.api#http": { - "method": "POST", - "uri": "/workloadsSummaries", + "method": "GET", + "uri": "/shareInvitations", "code": 200 }, "smithy.api#paginated": { @@ -4587,29 +5203,57 @@ } } }, - "com.amazonaws.wellarchitected#ListWorkloadsInput": { + "com.amazonaws.wellarchitected#ListShareInvitationsInput": { "type": "structure", "members": { "WorkloadNamePrefix": { - "target": "com.amazonaws.wellarchitected#WorkloadNamePrefix" + "target": "com.amazonaws.wellarchitected#WorkloadNamePrefix", + "traits": { + "smithy.api#httpQuery": "WorkloadNamePrefix" + } + }, + "LensNamePrefix": { + "target": "com.amazonaws.wellarchitected#LensNamePrefix", + "traits": { + "smithy.api#documentation": "

An optional string added to the beginning of each lens name returned in the results.

", + "smithy.api#httpQuery": "LensNamePrefix" + } + }, + "ShareResourceType": { + "target": "com.amazonaws.wellarchitected#ShareResourceType", + "traits": { + "smithy.api#documentation": "

The type of share invitations to be returned.

", + "smithy.api#httpQuery": "ShareResourceType" + } }, "NextToken": { - "target": "com.amazonaws.wellarchitected#NextToken" + "target": "com.amazonaws.wellarchitected#NextToken", + "traits": { + "smithy.api#httpQuery": "NextToken" + } }, "MaxResults": { - "target": "com.amazonaws.wellarchitected#ListWorkloadsMaxResults", + "target": "com.amazonaws.wellarchitected#ListShareInvitationsMaxResults", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for this request.

" + "smithy.api#documentation": "

The maximum number of results to return for this request.

", + "smithy.api#httpQuery": "MaxResults" + } + }, + "ProfileNamePrefix": { + "target": "com.amazonaws.wellarchitected#ProfileNamePrefix", + "traits": { + "smithy.api#documentation": "

Profile name prefix.

", + "smithy.api#httpQuery": "ProfileNamePrefix" } } }, "traits": { - "smithy.api#documentation": "

Input to list all workloads.

", + "smithy.api#documentation": "

Input for List Share Invitations

", "smithy.api#input": {} } }, - "com.amazonaws.wellarchitected#ListWorkloadsMaxResults": { + "com.amazonaws.wellarchitected#ListShareInvitationsMaxResults": { "type": "integer", "traits": { "smithy.api#default": 0, @@ -4619,332 +5263,1064 @@ } } }, - "com.amazonaws.wellarchitected#ListWorkloadsOutput": { + "com.amazonaws.wellarchitected#ListShareInvitationsOutput": { "type": "structure", "members": { - "WorkloadSummaries": { - "target": "com.amazonaws.wellarchitected#WorkloadSummaries" + "ShareInvitationSummaries": { + "target": "com.amazonaws.wellarchitected#ShareInvitationSummaries", + "traits": { + "smithy.api#documentation": "

List of share invitation summaries in a workload.

" + } }, "NextToken": { "target": "com.amazonaws.wellarchitected#NextToken" } }, "traits": { - "smithy.api#documentation": "

Output of a list workloads call.

", + "smithy.api#documentation": "

Input for List Share Invitations

", "smithy.api#output": {} } }, - "com.amazonaws.wellarchitected#MaxResults": { - "type": "integer", + "com.amazonaws.wellarchitected#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#ListTagsForResourceInput" + }, + "output": { + "target": "com.amazonaws.wellarchitected#ListTagsForResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + } + ], "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results to return for this request.

", - "smithy.api#range": { - "min": 1, - "max": 50 + "smithy.api#documentation": "

List the tags for a resource.

\n \n

The WorkloadArn parameter can be a workload ARN, a custom lens ARN, or a profile ARN.

\n
", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{WorkloadArn}", + "code": 200 } } }, - "com.amazonaws.wellarchitected#MetricType": { - "type": "enum", + "com.amazonaws.wellarchitected#ListTagsForResourceInput": { + "type": "structure", "members": { - "WORKLOAD": { - "target": "smithy.api#Unit", + "WorkloadArn": { + "target": "com.amazonaws.wellarchitected#WorkloadArn", "traits": { - "smithy.api#enumValue": "WORKLOAD" + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.wellarchitected#Milestone": { + "com.amazonaws.wellarchitected#ListTagsForResourceOutput": { "type": "structure", "members": { - "MilestoneNumber": { - "target": "com.amazonaws.wellarchitected#MilestoneNumber", + "Tags": { + "target": "com.amazonaws.wellarchitected#TagMap", "traits": { - "smithy.api#default": 0 + "smithy.api#documentation": "

The tags for the resource.

" } - }, - "MilestoneName": { - "target": "com.amazonaws.wellarchitected#MilestoneName" - }, - "RecordedAt": { - "target": "com.amazonaws.wellarchitected#Timestamp" - }, - "Workload": { - "target": "com.amazonaws.wellarchitected#Workload" } }, "traits": { - "smithy.api#documentation": "

A milestone return object.

" + "smithy.api#output": {} } }, - "com.amazonaws.wellarchitected#MilestoneName": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The name of the milestone in a workload.

\n

Milestone names must be unique within a workload.

", - "smithy.api#length": { - "min": 3, - "max": 100 + "com.amazonaws.wellarchitected#ListWorkloadShares": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#ListWorkloadSharesInput" + }, + "output": { + "target": "com.amazonaws.wellarchitected#ListWorkloadSharesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" } - } - }, - "com.amazonaws.wellarchitected#MilestoneNumber": { - "type": "integer", + ], "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The milestone number.

\n

A workload can have a maximum of 100 milestones.

", - "smithy.api#range": { - "min": 1, - "max": 100 + "smithy.api#documentation": "

List the workload shares associated with the workload.

", + "smithy.api#http": { + "method": "GET", + "uri": "/workloads/{WorkloadId}/shares", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" } } }, - "com.amazonaws.wellarchitected#MilestoneSummaries": { + "com.amazonaws.wellarchitected#ListWorkloadSharesInput": { + "type": "structure", + "members": { + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "SharedWithPrefix": { + "target": "com.amazonaws.wellarchitected#SharedWithPrefix", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the workload is shared.

", + "smithy.api#httpQuery": "SharedWithPrefix" + } + }, + "NextToken": { + "target": "com.amazonaws.wellarchitected#NextToken", + "traits": { + "smithy.api#httpQuery": "NextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.wellarchitected#ListWorkloadSharesMaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for this request.

", + "smithy.api#httpQuery": "MaxResults" + } + }, + "Status": { + "target": "com.amazonaws.wellarchitected#ShareStatus", + "traits": { + "smithy.api#httpQuery": "Status" + } + } + }, + "traits": { + "smithy.api#documentation": "

Input for List Workload Share

", + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#ListWorkloadSharesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.wellarchitected#ListWorkloadSharesOutput": { + "type": "structure", + "members": { + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId" + }, + "WorkloadShareSummaries": { + "target": "com.amazonaws.wellarchitected#WorkloadShareSummaries" + }, + "NextToken": { + "target": "com.amazonaws.wellarchitected#NextToken" + } + }, + "traits": { + "smithy.api#documentation": "

Input for List Workload Share

", + "smithy.api#output": {} + } + }, + "com.amazonaws.wellarchitected#ListWorkloads": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#ListWorkloadsInput" + }, + "output": { + "target": "com.amazonaws.wellarchitected#ListWorkloadsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Paginated list of workloads.

", + "smithy.api#http": { + "method": "POST", + "uri": "/workloadsSummaries", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.wellarchitected#ListWorkloadsInput": { + "type": "structure", + "members": { + "WorkloadNamePrefix": { + "target": "com.amazonaws.wellarchitected#WorkloadNamePrefix" + }, + "NextToken": { + "target": "com.amazonaws.wellarchitected#NextToken" + }, + "MaxResults": { + "target": "com.amazonaws.wellarchitected#ListWorkloadsMaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for this request.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Input to list all workloads.

", + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#ListWorkloadsMaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.wellarchitected#ListWorkloadsOutput": { + "type": "structure", + "members": { + "WorkloadSummaries": { + "target": "com.amazonaws.wellarchitected#WorkloadSummaries" + }, + "NextToken": { + "target": "com.amazonaws.wellarchitected#NextToken" + } + }, + "traits": { + "smithy.api#documentation": "

Output of a list workloads call.

", + "smithy.api#output": {} + } + }, + "com.amazonaws.wellarchitected#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results to return for this request.

", + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.wellarchitected#MaxSelectedProfileChoices": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.wellarchitected#MetricType": { + "type": "enum", + "members": { + "WORKLOAD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WORKLOAD" + } + } + } + }, + "com.amazonaws.wellarchitected#Milestone": { + "type": "structure", + "members": { + "MilestoneNumber": { + "target": "com.amazonaws.wellarchitected#MilestoneNumber", + "traits": { + "smithy.api#default": 0 + } + }, + "MilestoneName": { + "target": "com.amazonaws.wellarchitected#MilestoneName" + }, + "RecordedAt": { + "target": "com.amazonaws.wellarchitected#Timestamp" + }, + "Workload": { + "target": "com.amazonaws.wellarchitected#Workload" + } + }, + "traits": { + "smithy.api#documentation": "

A milestone return object.

" + } + }, + "com.amazonaws.wellarchitected#MilestoneName": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The name of the milestone in a workload.

\n

Milestone names must be unique within a workload.

", + "smithy.api#length": { + "min": 3, + "max": 100 + } + } + }, + "com.amazonaws.wellarchitected#MilestoneNumber": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The milestone number.

\n

A workload can have a maximum of 100 milestones.

", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.wellarchitected#MilestoneSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#MilestoneSummary" + }, + "traits": { + "smithy.api#documentation": "

A list of milestone summaries.

" + } + }, + "com.amazonaws.wellarchitected#MilestoneSummary": { + "type": "structure", + "members": { + "MilestoneNumber": { + "target": "com.amazonaws.wellarchitected#MilestoneNumber", + "traits": { + "smithy.api#default": 0 + } + }, + "MilestoneName": { + "target": "com.amazonaws.wellarchitected#MilestoneName" + }, + "RecordedAt": { + "target": "com.amazonaws.wellarchitected#Timestamp" + }, + "WorkloadSummary": { + "target": "com.amazonaws.wellarchitected#WorkloadSummary" + } + }, + "traits": { + "smithy.api#documentation": "

A milestone summary return object.

" + } + }, + "com.amazonaws.wellarchitected#MinSelectedProfileChoices": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.wellarchitected#NextToken": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The token to use to retrieve the next set of results.

" + } + }, + "com.amazonaws.wellarchitected#Notes": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The notes associated with the workload.

", + "smithy.api#length": { + "min": 0, + "max": 2084 + } + } + }, + "com.amazonaws.wellarchitected#NotificationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#NotificationSummary" + } + }, + "com.amazonaws.wellarchitected#NotificationSummary": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.wellarchitected#NotificationType", + "traits": { + "smithy.api#documentation": "

The type of notification.

" + } + }, + "LensUpgradeSummary": { + "target": "com.amazonaws.wellarchitected#LensUpgradeSummary", + "traits": { + "smithy.api#documentation": "

Summary of lens upgrade.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A notification summary return object.

" + } + }, + "com.amazonaws.wellarchitected#NotificationType": { + "type": "enum", + "members": { + "LENS_VERSION_UPGRADED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LENS_VERSION_UPGRADED" + } + }, + "LENS_VERSION_DEPRECATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LENS_VERSION_DEPRECATED" + } + } + } + }, + "com.amazonaws.wellarchitected#OrganizationSharingStatus": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, + "com.amazonaws.wellarchitected#PermissionType": { + "type": "enum", + "members": { + "READONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READONLY" + } + }, + "CONTRIBUTOR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTRIBUTOR" + } + } + }, + "traits": { + "smithy.api#documentation": "

Permission granted on a share request.

" + } + }, + "com.amazonaws.wellarchitected#PillarDifference": { + "type": "structure", + "members": { + "PillarId": { + "target": "com.amazonaws.wellarchitected#PillarId" + }, + "PillarName": { + "target": "com.amazonaws.wellarchitected#PillarName" + }, + "DifferenceStatus": { + "target": "com.amazonaws.wellarchitected#DifferenceStatus", + "traits": { + "smithy.api#documentation": "

Indicates the type of change to the pillar.

" + } + }, + "QuestionDifferences": { + "target": "com.amazonaws.wellarchitected#QuestionDifferences", + "traits": { + "smithy.api#documentation": "

List of question differences.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A pillar difference return object.

" + } + }, + "com.amazonaws.wellarchitected#PillarDifferences": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#PillarDifference" + } + }, + "com.amazonaws.wellarchitected#PillarId": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The ID used to identify a pillar, for example, security.

\n

A pillar is identified by its PillarReviewSummary$PillarId.

", + "smithy.api#length": { + "min": 1, + "max": 64 + } + } + }, + "com.amazonaws.wellarchitected#PillarMetric": { + "type": "structure", + "members": { + "PillarId": { + "target": "com.amazonaws.wellarchitected#PillarId" + }, + "RiskCounts": { + "target": "com.amazonaws.wellarchitected#RiskCounts" + }, + "Questions": { + "target": "com.amazonaws.wellarchitected#QuestionMetrics", + "traits": { + "smithy.api#documentation": "

The questions that have been identified as risks in the pillar.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A metric for a particular pillar in a lens.

" + } + }, + "com.amazonaws.wellarchitected#PillarMetrics": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#PillarMetric" + } + }, + "com.amazonaws.wellarchitected#PillarName": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The name of the pillar.

", + "smithy.api#length": { + "min": 1, + "max": 128 + } + } + }, + "com.amazonaws.wellarchitected#PillarNotes": { + "type": "map", + "key": { + "target": "com.amazonaws.wellarchitected#PillarId" + }, + "value": { + "target": "com.amazonaws.wellarchitected#Notes" + }, + "traits": { + "smithy.api#documentation": "

List of pillar notes of a lens review in a workload.

" + } + }, + "com.amazonaws.wellarchitected#PillarReviewSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#PillarReviewSummary" + }, + "traits": { + "smithy.api#documentation": "

List of pillar review summaries of lens review in a workload.

" + } + }, + "com.amazonaws.wellarchitected#PillarReviewSummary": { + "type": "structure", + "members": { + "PillarId": { + "target": "com.amazonaws.wellarchitected#PillarId" + }, + "PillarName": { + "target": "com.amazonaws.wellarchitected#PillarName" + }, + "Notes": { + "target": "com.amazonaws.wellarchitected#Notes" + }, + "RiskCounts": { + "target": "com.amazonaws.wellarchitected#RiskCounts" + }, + "PrioritizedRiskCounts": { + "target": "com.amazonaws.wellarchitected#RiskCounts" + } + }, + "traits": { + "smithy.api#documentation": "

A pillar review summary of a lens review.

" + } + }, + "com.amazonaws.wellarchitected#Profile": { + "type": "structure", + "members": { + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

" + } + }, + "ProfileVersion": { + "target": "com.amazonaws.wellarchitected#ProfileVersion", + "traits": { + "smithy.api#documentation": "

The profile version.

" + } + }, + "ProfileName": { + "target": "com.amazonaws.wellarchitected#ProfileName", + "traits": { + "smithy.api#documentation": "

The profile name.

" + } + }, + "ProfileDescription": { + "target": "com.amazonaws.wellarchitected#ProfileDescription", + "traits": { + "smithy.api#documentation": "

The profile description.

" + } + }, + "ProfileQuestions": { + "target": "com.amazonaws.wellarchitected#ProfileQuestions", + "traits": { + "smithy.api#documentation": "

Profile questions.

" + } + }, + "Owner": { + "target": "com.amazonaws.wellarchitected#AwsAccountId" + }, + "CreatedAt": { + "target": "com.amazonaws.wellarchitected#Timestamp" + }, + "UpdatedAt": { + "target": "com.amazonaws.wellarchitected#Timestamp" + }, + "ShareInvitationId": { + "target": "com.amazonaws.wellarchitected#ShareInvitationId", + "traits": { + "smithy.api#documentation": "

The ID assigned to the share invitation.

" + } + }, + "Tags": { + "target": "com.amazonaws.wellarchitected#TagMap", + "traits": { + "smithy.api#documentation": "

The tags assigned to the profile.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A profile.

" + } + }, + "com.amazonaws.wellarchitected#ProfileArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2084 + }, + "smithy.api#pattern": "^arn:aws[-a-z]*:wellarchitected:[a-z]{2}(-gov)?-[a-z]+-\\d:\\d{12}:profile/[a-z0-9]+$" + } + }, + "com.amazonaws.wellarchitected#ProfileArns": { "type": "list", "member": { - "target": "com.amazonaws.wellarchitected#MilestoneSummary" + "target": "com.amazonaws.wellarchitected#ProfileArn" }, "traits": { - "smithy.api#documentation": "

A list of milestone summaries.

" + "smithy.api#length": { + "min": 1 + } } }, - "com.amazonaws.wellarchitected#MilestoneSummary": { + "com.amazonaws.wellarchitected#ProfileChoice": { "type": "structure", "members": { - "MilestoneNumber": { - "target": "com.amazonaws.wellarchitected#MilestoneNumber", - "traits": { - "smithy.api#default": 0 - } - }, - "MilestoneName": { - "target": "com.amazonaws.wellarchitected#MilestoneName" + "ChoiceId": { + "target": "com.amazonaws.wellarchitected#ChoiceId" }, - "RecordedAt": { - "target": "com.amazonaws.wellarchitected#Timestamp" + "ChoiceTitle": { + "target": "com.amazonaws.wellarchitected#ChoiceTitle" }, - "WorkloadSummary": { - "target": "com.amazonaws.wellarchitected#WorkloadSummary" + "ChoiceDescription": { + "target": "com.amazonaws.wellarchitected#ChoiceDescription" } }, "traits": { - "smithy.api#documentation": "

A milestone summary return object.

" + "smithy.api#documentation": "

The profile choice.

" } }, - "com.amazonaws.wellarchitected#NextToken": { + "com.amazonaws.wellarchitected#ProfileDescription": { "type": "string", "traits": { - "smithy.api#documentation": "

The token to use to retrieve the next set of results.

" + "smithy.api#length": { + "min": 3, + "max": 100 + }, + "smithy.api#pattern": "^[A-Za-z0-9-_.,:/()@!&?#+'’\\s]+$" } }, - "com.amazonaws.wellarchitected#Notes": { + "com.amazonaws.wellarchitected#ProfileName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 100 + }, + "smithy.api#pattern": "^[A-Za-z0-9-_.,:/()@!&?#+'’\\s]+$" + } + }, + "com.amazonaws.wellarchitected#ProfileNamePrefix": { "type": "string", "traits": { - "smithy.api#documentation": "

The notes associated with the workload.

", "smithy.api#length": { "min": 0, - "max": 2084 - } + "max": 100 + }, + "smithy.api#pattern": "^[A-Za-z0-9-_.,:/()@!&?#+'’\\s]+$" } }, - "com.amazonaws.wellarchitected#NotificationSummaries": { + "com.amazonaws.wellarchitected#ProfileNotificationSummaries": { "type": "list", "member": { - "target": "com.amazonaws.wellarchitected#NotificationSummary" + "target": "com.amazonaws.wellarchitected#ProfileNotificationSummary" } }, - "com.amazonaws.wellarchitected#NotificationSummary": { + "com.amazonaws.wellarchitected#ProfileNotificationSummary": { "type": "structure", "members": { + "CurrentProfileVersion": { + "target": "com.amazonaws.wellarchitected#ProfileVersion", + "traits": { + "smithy.api#documentation": "

The current profile version.

" + } + }, + "LatestProfileVersion": { + "target": "com.amazonaws.wellarchitected#ProfileVersion", + "traits": { + "smithy.api#documentation": "

The latest profile version.

" + } + }, "Type": { - "target": "com.amazonaws.wellarchitected#NotificationType", + "target": "com.amazonaws.wellarchitected#ProfileNotificationType", "traits": { - "smithy.api#documentation": "

The type of notification.

" + "smithy.api#documentation": "

Type of notification.

" } }, - "LensUpgradeSummary": { - "target": "com.amazonaws.wellarchitected#LensUpgradeSummary", + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", "traits": { - "smithy.api#documentation": "

Summary of lens upgrade.

" + "smithy.api#documentation": "

The profile ARN.

" + } + }, + "ProfileName": { + "target": "com.amazonaws.wellarchitected#ProfileName", + "traits": { + "smithy.api#documentation": "

The profile name.

" } + }, + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId" + }, + "WorkloadName": { + "target": "com.amazonaws.wellarchitected#WorkloadName" } }, "traits": { - "smithy.api#documentation": "

A notification summary return object.

" + "smithy.api#documentation": "

The profile notification summary.

" } }, - "com.amazonaws.wellarchitected#NotificationType": { + "com.amazonaws.wellarchitected#ProfileNotificationType": { "type": "enum", "members": { - "LENS_VERSION_UPGRADED": { + "PROFILE_ANSWERS_UPDATED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "LENS_VERSION_UPGRADED" + "smithy.api#enumValue": "PROFILE_ANSWERS_UPDATED" } }, - "LENS_VERSION_DEPRECATED": { + "PROFILE_DELETED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "LENS_VERSION_DEPRECATED" + "smithy.api#enumValue": "PROFILE_DELETED" } } } }, - "com.amazonaws.wellarchitected#OrganizationSharingStatus": { + "com.amazonaws.wellarchitected#ProfileOwnerType": { "type": "enum", "members": { - "ENABLED": { + "SELF": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ENABLED" + "smithy.api#enumValue": "SELF" } }, - "DISABLED": { + "SHARED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "DISABLED" + "smithy.api#enumValue": "SHARED" } } } }, - "com.amazonaws.wellarchitected#PermissionType": { - "type": "enum", + "com.amazonaws.wellarchitected#ProfileQuestion": { + "type": "structure", "members": { - "READONLY": { - "target": "smithy.api#Unit", + "QuestionId": { + "target": "com.amazonaws.wellarchitected#QuestionId" + }, + "QuestionTitle": { + "target": "com.amazonaws.wellarchitected#QuestionTitle" + }, + "QuestionDescription": { + "target": "com.amazonaws.wellarchitected#QuestionDescription" + }, + "QuestionChoices": { + "target": "com.amazonaws.wellarchitected#ProfileQuestionChoices", "traits": { - "smithy.api#enumValue": "READONLY" + "smithy.api#documentation": "

The question choices.

" } }, - "CONTRIBUTOR": { - "target": "smithy.api#Unit", + "SelectedChoiceIds": { + "target": "com.amazonaws.wellarchitected#SelectedChoiceIds", "traits": { - "smithy.api#enumValue": "CONTRIBUTOR" + "smithy.api#documentation": "

The selected choices.

" + } + }, + "MinSelectedChoices": { + "target": "com.amazonaws.wellarchitected#MinSelectedProfileChoices", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum number of selected choices.

" + } + }, + "MaxSelectedChoices": { + "target": "com.amazonaws.wellarchitected#MaxSelectedProfileChoices", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of selected choices.

" } } }, "traits": { - "smithy.api#documentation": "

Permission granted on a workload share.

" + "smithy.api#documentation": "

A profile question.

" } }, - "com.amazonaws.wellarchitected#PillarDifference": { + "com.amazonaws.wellarchitected#ProfileQuestionChoices": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#ProfileChoice" + } + }, + "com.amazonaws.wellarchitected#ProfileQuestionUpdate": { "type": "structure", "members": { - "PillarId": { - "target": "com.amazonaws.wellarchitected#PillarId" - }, - "PillarName": { - "target": "com.amazonaws.wellarchitected#PillarName" - }, - "DifferenceStatus": { - "target": "com.amazonaws.wellarchitected#DifferenceStatus", - "traits": { - "smithy.api#documentation": "

Indicates the type of change to the pillar.

" - } + "QuestionId": { + "target": "com.amazonaws.wellarchitected#QuestionId" }, - "QuestionDifferences": { - "target": "com.amazonaws.wellarchitected#QuestionDifferences", + "SelectedChoiceIds": { + "target": "com.amazonaws.wellarchitected#SelectedProfileChoiceIds", "traits": { - "smithy.api#documentation": "

List of question differences.

" + "smithy.api#documentation": "

The selected choices.

" } } }, "traits": { - "smithy.api#documentation": "

A pillar difference return object.

" + "smithy.api#documentation": "

An update to a profile question.

" } }, - "com.amazonaws.wellarchitected#PillarDifferences": { + "com.amazonaws.wellarchitected#ProfileQuestionUpdates": { "type": "list", "member": { - "target": "com.amazonaws.wellarchitected#PillarDifference" + "target": "com.amazonaws.wellarchitected#ProfileQuestionUpdate" } }, - "com.amazonaws.wellarchitected#PillarId": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The ID used to identify a pillar, for example, security.

\n

A pillar is identified by its PillarReviewSummary$PillarId.

", - "smithy.api#length": { - "min": 1, - "max": 64 - } + "com.amazonaws.wellarchitected#ProfileQuestions": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#ProfileQuestion" } }, - "com.amazonaws.wellarchitected#PillarMetric": { + "com.amazonaws.wellarchitected#ProfileShareSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#ProfileShareSummary" + } + }, + "com.amazonaws.wellarchitected#ProfileShareSummary": { "type": "structure", "members": { - "PillarId": { - "target": "com.amazonaws.wellarchitected#PillarId" + "ShareId": { + "target": "com.amazonaws.wellarchitected#ShareId" }, - "RiskCounts": { - "target": "com.amazonaws.wellarchitected#RiskCounts" + "SharedWith": { + "target": "com.amazonaws.wellarchitected#SharedWith" }, - "Questions": { - "target": "com.amazonaws.wellarchitected#QuestionMetrics", + "Status": { + "target": "com.amazonaws.wellarchitected#ShareStatus" + }, + "StatusMessage": { + "target": "com.amazonaws.wellarchitected#StatusMessage", "traits": { - "smithy.api#documentation": "

The questions that have been identified as risks in the pillar.

" + "smithy.api#documentation": "

Profile share invitation status message.

" } } }, "traits": { - "smithy.api#documentation": "

A metric for a particular pillar in a lens.

" + "smithy.api#documentation": "

Summary of a profile share.

" } }, - "com.amazonaws.wellarchitected#PillarMetrics": { + "com.amazonaws.wellarchitected#ProfileSummaries": { "type": "list", "member": { - "target": "com.amazonaws.wellarchitected#PillarMetric" + "target": "com.amazonaws.wellarchitected#ProfileSummary" } }, - "com.amazonaws.wellarchitected#PillarName": { - "type": "string", - "traits": { - "smithy.api#documentation": "

The name of the pillar.

", - "smithy.api#length": { - "min": 1, - "max": 128 + "com.amazonaws.wellarchitected#ProfileSummary": { + "type": "structure", + "members": { + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

" + } + }, + "ProfileVersion": { + "target": "com.amazonaws.wellarchitected#ProfileVersion", + "traits": { + "smithy.api#documentation": "

The profile version.

" + } + }, + "ProfileName": { + "target": "com.amazonaws.wellarchitected#ProfileName", + "traits": { + "smithy.api#documentation": "

The profile name.

" + } + }, + "ProfileDescription": { + "target": "com.amazonaws.wellarchitected#ProfileDescription", + "traits": { + "smithy.api#documentation": "

The profile description.

" + } + }, + "Owner": { + "target": "com.amazonaws.wellarchitected#AwsAccountId" + }, + "CreatedAt": { + "target": "com.amazonaws.wellarchitected#Timestamp" + }, + "UpdatedAt": { + "target": "com.amazonaws.wellarchitected#Timestamp" } + }, + "traits": { + "smithy.api#documentation": "

Summary of a profile.

" } }, - "com.amazonaws.wellarchitected#PillarNotes": { - "type": "map", - "key": { - "target": "com.amazonaws.wellarchitected#PillarId" - }, - "value": { - "target": "com.amazonaws.wellarchitected#Notes" + "com.amazonaws.wellarchitected#ProfileTemplate": { + "type": "structure", + "members": { + "TemplateName": { + "target": "com.amazonaws.wellarchitected#ProfileName", + "traits": { + "smithy.api#documentation": "

The name of the profile template.

" + } + }, + "TemplateQuestions": { + "target": "com.amazonaws.wellarchitected#TemplateQuestions", + "traits": { + "smithy.api#documentation": "

Profile template questions.

" + } + }, + "CreatedAt": { + "target": "com.amazonaws.wellarchitected#Timestamp" + }, + "UpdatedAt": { + "target": "com.amazonaws.wellarchitected#Timestamp" + } }, "traits": { - "smithy.api#documentation": "

List of pillar notes of a lens review in a workload.

" + "smithy.api#documentation": "

The profile template.

" } }, - "com.amazonaws.wellarchitected#PillarReviewSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.wellarchitected#PillarReviewSummary" + "com.amazonaws.wellarchitected#ProfileTemplateChoice": { + "type": "structure", + "members": { + "ChoiceId": { + "target": "com.amazonaws.wellarchitected#ChoiceId" + }, + "ChoiceTitle": { + "target": "com.amazonaws.wellarchitected#ChoiceTitle" + }, + "ChoiceDescription": { + "target": "com.amazonaws.wellarchitected#ChoiceDescription" + } }, "traits": { - "smithy.api#documentation": "

List of pillar review summaries of lens review in a workload.

" + "smithy.api#documentation": "

A profile template choice.

" } }, - "com.amazonaws.wellarchitected#PillarReviewSummary": { + "com.amazonaws.wellarchitected#ProfileTemplateQuestion": { "type": "structure", "members": { - "PillarId": { - "target": "com.amazonaws.wellarchitected#PillarId" + "QuestionId": { + "target": "com.amazonaws.wellarchitected#QuestionId" }, - "PillarName": { - "target": "com.amazonaws.wellarchitected#PillarName" + "QuestionTitle": { + "target": "com.amazonaws.wellarchitected#QuestionTitle" }, - "Notes": { - "target": "com.amazonaws.wellarchitected#Notes" + "QuestionDescription": { + "target": "com.amazonaws.wellarchitected#QuestionDescription" }, - "RiskCounts": { - "target": "com.amazonaws.wellarchitected#RiskCounts" + "QuestionChoices": { + "target": "com.amazonaws.wellarchitected#ProfileTemplateQuestionChoices", + "traits": { + "smithy.api#documentation": "

The question choices.

" + } + }, + "MinSelectedChoices": { + "target": "com.amazonaws.wellarchitected#MinSelectedProfileChoices", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The minimum number of choices selected.

" + } + }, + "MaxSelectedChoices": { + "target": "com.amazonaws.wellarchitected#MaxSelectedProfileChoices", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of choices selected.

" + } } }, "traits": { - "smithy.api#documentation": "

A pillar review summary of a lens review.

" + "smithy.api#documentation": "

A profile template question.

" + } + }, + "com.amazonaws.wellarchitected#ProfileTemplateQuestionChoices": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#ProfileTemplateChoice" + } + }, + "com.amazonaws.wellarchitected#ProfileVersion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32 + }, + "smithy.api#pattern": "^[A-Za-z0-9-]+$" } }, "com.amazonaws.wellarchitected#QuestionDescription": { @@ -5019,6 +6395,23 @@ "target": "com.amazonaws.wellarchitected#QuestionMetric" } }, + "com.amazonaws.wellarchitected#QuestionPriority": { + "type": "enum", + "members": { + "PRIORITIZED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRIORITIZED" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + } + } + }, "com.amazonaws.wellarchitected#QuestionTitle": { "type": "string", "traits": { @@ -5029,6 +6422,23 @@ } } }, + "com.amazonaws.wellarchitected#QuestionType": { + "type": "enum", + "members": { + "PRIORITIZED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRIORITIZED" + } + }, + "NON_PRIORITIZED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NON_PRIORITIZED" + } + } + } + }, "com.amazonaws.wellarchitected#QuotaCode": { "type": "string", "traits": { @@ -5130,6 +6540,12 @@ "smithy.api#documentation": "

A map from risk names to the count of how many questions have that rating.

" } }, + "com.amazonaws.wellarchitected#SelectedChoiceIds": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#ChoiceId" + } + }, "com.amazonaws.wellarchitected#SelectedChoices": { "type": "list", "member": { @@ -5139,6 +6555,12 @@ "smithy.api#documentation": "

List of selected choice IDs in a question answer.

\n

The values entered replace the previously selected choices.

" } }, + "com.amazonaws.wellarchitected#SelectedProfileChoiceIds": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#ChoiceId" + } + }, "com.amazonaws.wellarchitected#ServiceCode": { "type": "string", "traits": { @@ -5182,7 +6604,7 @@ "com.amazonaws.wellarchitected#ShareId": { "type": "string", "traits": { - "smithy.api#documentation": "

The ID associated with the workload share.

", + "smithy.api#documentation": "

The ID associated with the share.

", "smithy.api#pattern": "^[0-9a-f]{32}$" } }, @@ -5212,6 +6634,12 @@ "traits": { "smithy.api#documentation": "

The ARN for the lens.

" } + }, + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

" + } } }, "traits": { @@ -5288,6 +6716,18 @@ "traits": { "smithy.api#documentation": "

The ARN for the lens.

" } + }, + "ProfileName": { + "target": "com.amazonaws.wellarchitected#ProfileName", + "traits": { + "smithy.api#documentation": "

The profile name.

" + } + }, + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

" + } } }, "traits": { @@ -5308,6 +6748,12 @@ "traits": { "smithy.api#enumValue": "LENS" } + }, + "PROFILE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROFILE" + } } } }, @@ -5364,13 +6810,13 @@ } }, "traits": { - "smithy.api#documentation": "

The status of a workload share.

" + "smithy.api#documentation": "

The status of the share request.

" } }, "com.amazonaws.wellarchitected#SharedWith": { "type": "string", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the workload is shared.

", + "smithy.api#documentation": "

The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the workload, lens, or profile is shared.

", "smithy.api#length": { "min": 12, "max": 2048 @@ -5448,7 +6894,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds one or more tags to the specified resource.

\n \n

The WorkloadArn parameter can be either a workload ARN or a custom lens ARN.

\n
", + "smithy.api#documentation": "

Adds one or more tags to the specified resource.

\n \n

The WorkloadArn parameter can be a workload ARN, a custom lens ARN, or a profile ARN.

\n
", "smithy.api#http": { "method": "POST", "uri": "/tags/{WorkloadArn}", @@ -5494,6 +6940,12 @@ } } }, + "com.amazonaws.wellarchitected#TemplateQuestions": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#ProfileTemplateQuestion" + } + }, "com.amazonaws.wellarchitected#ThrottlingException": { "type": "structure", "members": { @@ -5556,7 +7008,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes specified tags from a resource.

\n \n

The WorkloadArn parameter can be either a workload ARN or a custom lens ARN.

\n
\n

To specify multiple tags, use separate tagKeys parameters, for example:

\n

\n DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2\n

", + "smithy.api#documentation": "

Deletes specified tags from a resource.

\n \n

The WorkloadArn parameter can be a workload ARN, a custom lens ARN, or a profile ARN.

\n
\n

To specify multiple tags, use separate tagKeys parameters, for example:

\n

\n DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2\n

", "smithy.api#http": { "method": "DELETE", "uri": "/tags/{WorkloadArn}", @@ -5844,6 +7296,85 @@ "smithy.api#output": {} } }, + "com.amazonaws.wellarchitected#UpdateProfile": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#UpdateProfileInput" + }, + "output": { + "target": "com.amazonaws.wellarchitected#UpdateProfileOutput" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#ConflictException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Update a profile.

", + "smithy.api#http": { + "method": "PATCH", + "uri": "/profiles/{ProfileArn}", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#UpdateProfileInput": { + "type": "structure", + "members": { + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ProfileDescription": { + "target": "com.amazonaws.wellarchitected#ProfileDescription", + "traits": { + "smithy.api#documentation": "

The profile description.

" + } + }, + "ProfileQuestions": { + "target": "com.amazonaws.wellarchitected#ProfileQuestionUpdates", + "traits": { + "smithy.api#documentation": "

Profile questions.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.wellarchitected#UpdateProfileOutput": { + "type": "structure", + "members": { + "Profile": { + "target": "com.amazonaws.wellarchitected#Profile", + "traits": { + "smithy.api#documentation": "

The profile.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.wellarchitected#UpdateShareInvitation": { "type": "operation", "input": { @@ -6190,6 +7721,75 @@ "smithy.api#input": {} } }, + "com.amazonaws.wellarchitected#UpgradeProfileVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.wellarchitected#UpgradeProfileVersionInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.wellarchitected#AccessDeniedException" + }, + { + "target": "com.amazonaws.wellarchitected#ConflictException" + }, + { + "target": "com.amazonaws.wellarchitected#InternalServerException" + }, + { + "target": "com.amazonaws.wellarchitected#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.wellarchitected#ThrottlingException" + }, + { + "target": "com.amazonaws.wellarchitected#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Upgrade a profile.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/workloads/{WorkloadId}/profiles/{ProfileArn}/upgrade", + "code": 200 + } + } + }, + "com.amazonaws.wellarchitected#UpgradeProfileVersionInput": { + "type": "structure", + "members": { + "WorkloadId": { + "target": "com.amazonaws.wellarchitected#WorkloadId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MilestoneName": { + "target": "com.amazonaws.wellarchitected#MilestoneName" + }, + "ClientRequestToken": { + "target": "com.amazonaws.wellarchitected#ClientRequestToken", + "traits": { + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.wellarchitected#Urls": { "type": "list", "member": { @@ -6306,6 +7906,9 @@ { "target": "com.amazonaws.wellarchitected#AssociateLenses" }, + { + "target": "com.amazonaws.wellarchitected#AssociateProfiles" + }, { "target": "com.amazonaws.wellarchitected#CreateLensShare" }, @@ -6315,6 +7918,12 @@ { "target": "com.amazonaws.wellarchitected#CreateMilestone" }, + { + "target": "com.amazonaws.wellarchitected#CreateProfile" + }, + { + "target": "com.amazonaws.wellarchitected#CreateProfileShare" + }, { "target": "com.amazonaws.wellarchitected#CreateWorkload" }, @@ -6327,6 +7936,12 @@ { "target": "com.amazonaws.wellarchitected#DeleteLensShare" }, + { + "target": "com.amazonaws.wellarchitected#DeleteProfile" + }, + { + "target": "com.amazonaws.wellarchitected#DeleteProfileShare" + }, { "target": "com.amazonaws.wellarchitected#DeleteWorkload" }, @@ -6336,6 +7951,9 @@ { "target": "com.amazonaws.wellarchitected#DisassociateLenses" }, + { + "target": "com.amazonaws.wellarchitected#DisassociateProfiles" + }, { "target": "com.amazonaws.wellarchitected#ExportLens" }, @@ -6360,6 +7978,12 @@ { "target": "com.amazonaws.wellarchitected#GetMilestone" }, + { + "target": "com.amazonaws.wellarchitected#GetProfile" + }, + { + "target": "com.amazonaws.wellarchitected#GetProfileTemplate" + }, { "target": "com.amazonaws.wellarchitected#GetWorkload" }, @@ -6393,6 +8017,15 @@ { "target": "com.amazonaws.wellarchitected#ListNotifications" }, + { + "target": "com.amazonaws.wellarchitected#ListProfileNotifications" + }, + { + "target": "com.amazonaws.wellarchitected#ListProfiles" + }, + { + "target": "com.amazonaws.wellarchitected#ListProfileShares" + }, { "target": "com.amazonaws.wellarchitected#ListShareInvitations" }, @@ -6420,6 +8053,9 @@ { "target": "com.amazonaws.wellarchitected#UpdateLensReview" }, + { + "target": "com.amazonaws.wellarchitected#UpdateProfile" + }, { "target": "com.amazonaws.wellarchitected#UpdateShareInvitation" }, @@ -6431,6 +8067,9 @@ }, { "target": "com.amazonaws.wellarchitected#UpgradeLensReview" + }, + { + "target": "com.amazonaws.wellarchitected#UpgradeProfileVersion" } ], "traits": { @@ -7427,6 +9066,15 @@ "traits": { "smithy.api#documentation": "

List of AppRegistry application ARNs associated to the workload.

" } + }, + "Profiles": { + "target": "com.amazonaws.wellarchitected#WorkloadProfiles", + "traits": { + "smithy.api#documentation": "

Profile associated with a workload.

" + } + }, + "PrioritizedRiskCounts": { + "target": "com.amazonaws.wellarchitected#RiskCounts" } }, "traits": { @@ -7542,6 +9190,10 @@ "type": "string", "traits": { "smithy.api#documentation": "

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

", + "smithy.api#length": { + "min": 32, + "max": 32 + }, "smithy.api#pattern": "^[0-9a-f]{32}$" } }, @@ -7663,6 +9315,50 @@ "smithy.api#documentation": "

The priorities of the pillars, which are used to order items in the improvement plan.\n Each pillar is represented by its PillarReviewSummary$PillarId.

" } }, + "com.amazonaws.wellarchitected#WorkloadProfile": { + "type": "structure", + "members": { + "ProfileArn": { + "target": "com.amazonaws.wellarchitected#ProfileArn", + "traits": { + "smithy.api#documentation": "

The profile ARN.

" + } + }, + "ProfileVersion": { + "target": "com.amazonaws.wellarchitected#ProfileVersion", + "traits": { + "smithy.api#documentation": "

The profile version.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The profile associated with a workload.

" + } + }, + "com.amazonaws.wellarchitected#WorkloadProfileArns": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#ProfileArn" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.wellarchitected#WorkloadProfiles": { + "type": "list", + "member": { + "target": "com.amazonaws.wellarchitected#WorkloadProfile" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, "com.amazonaws.wellarchitected#WorkloadResourceDefinition": { "type": "list", "member": { @@ -7778,6 +9474,15 @@ }, "ImprovementStatus": { "target": "com.amazonaws.wellarchitected#WorkloadImprovementStatus" + }, + "Profiles": { + "target": "com.amazonaws.wellarchitected#WorkloadProfiles", + "traits": { + "smithy.api#documentation": "

Profile associated with a workload.

" + } + }, + "PrioritizedRiskCounts": { + "target": "com.amazonaws.wellarchitected#RiskCounts" } }, "traits": {